GNU/Linux >> Linux の 問題 >  >> Linux

buildroot でターゲットのみをクリーンアップする方法

Buildroot は、各パッケージ内の .stamp_xxx を使用してビルドの進行状況を追跡します build dir.target install は、実際には各パッケージの最終段階です。そのため、各パッケージ ビルド ディレクトリから .stamp_target_installed ファイルを削除すると、ターゲットに再インストールされます

最新のビルドルートでは、次のことを簡単に実行できます:

rm -rf output/target
find output/ -name ".stamp_target_installed" -delete
rm -f output/build/host-gcc-final-*/.stamp_host_installed

一部の古いビルドルートでは、スケルトンを使用してターゲット ディレクトリの作成を追跡する出力に他のファイルがいくつかあります。メーリング リストのメッセージを引用すると、次のように要約できます。

<ブロック引用><ブロック引用>

「rm -rf output/target &&make」は機能しますか?

<ブロック引用>

トーマスが言ったように、それはうまくいきません。ただし、いくつかの非公式のハックが存在します:

  • build/.root を削除 スケルトンの再インストールを強制します
  • build/*/.stamp_target_installed を削除 各対象パッケージを強制的に再インストール
  • ツールチェーンによっては、libc と co を削除して再インストールできます:
  • stamps/ext-toolchain-installed (外部)
  • stamps/ct-ng-toolchain-installed (ctng)
  • target/lib/libc.so.0 (ビルドルート)
<ブロック引用>

そして、単純にもう一度 make してください。

<ブロック引用>

これらのヒントが間違ったことをする可能性がある理由はたくさんあることを思い出してください。ターゲットを再構築する唯一の現在の公式な方法は、「make clean」です。


Buildroot には、特定のパッケージのビルド ディレクトリを一掃するための特別な make ターゲットがありますが、これはインストールされたファイルには影響しません。ユーザーマニュアルを引用するには:

<ブロック引用>

パッケージが構成から削除されるとき、Buildroot は特別なことは何もしません。このパッケージによってインストールされたファイルは、ターゲット ルート ファイルシステムまたはツールチェーン sysroot から削除されません。このパッケージを削除するには、完全な再構築が必要です。ただし、通常、このパッケージを今すぐ削除する必要はありません。次の昼休みを待って、ビルドを最初からやり直すことができます。

make <PKG-NAME>-dirclean を実行すると、特定のパッケージのビルド ファイルを削除できます。 .たとえば、i2c-tools のビルド ファイルを削除したい場合 、 make i2c-tools-dirclean を実行します . <PKG-NAME>-dirclean ターゲットは単に rm -rf を実行します output/build/<PKG-NAME> で ディレクトリ。 output/target/ からインストールされたファイルは削除されません。 .完全に再構築せずに rootfs からファイルを削除したい場合は、それで問題ありません - output/target/ に入るだけです 、 rm 不要になったファイルを削除してから make を実行します 最終的な画像を再生成します。 Buildroot 構成も、削除しようとしているパッケージを再構築してインストールするように設定されていないことを確認してください。


Linux
  1. LinuxでRPMまたはDEBパッケージからインストールされたファイルを一覧表示する方法

  2. Lsのある日付の後に作成されたファイルのみを取得するにはどうすればよいですか?

  3. 特定のタイプのファイルのみのディレクトリをどのように比較しますか?

  1. Linuxコマンド:テキストファイルのみを「検索」する方法は?

  2. 独自のソフトウェアを Buildroot Linux パッケージに追加するにはどうすればよいですか?

  3. aws s3 ls コマンドからファイルのみを表示するには?

  1. Linuxでスナップパッケージのバージョンをクリーンアップする方法[クイックヒント]

  2. ls を使用して空でないファイルのみを一覧表示するにはどうすればよいですか?

  3. 2 つのファイルの最初の行だけを比較するには?