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 構成も、削除しようとしているパッケージを再構築してインストールするように設定されていないことを確認してください。