GNU/Linux >> Belajar Linux >  >> Linux

Cara membersihkan hanya target di buildroot

Buildroot track build progress dengan .stamp_xxx di setiap paket build dir.target install sebenarnya adalah tahap terakhir untuk setiap paket. Jadi menghapus file .stamp_target_installed dari setiap dir build paket akan menyebabkannya menginstal ulang ke target

Di buildroot terbaru, Anda cukup melakukan hal berikut:

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

Di beberapa buildroot lama, ada beberapa file lain di keluaran yang melacak pembuatan direktori target dengan kerangka. Mengutip pesan milis, kami dapat meringkas sebagai berikut:

Apakah "rm -rf output/target &&make" berfungsi?

Seperti yang dikatakan Thomas, itu tidak berhasil. Namun, ada beberapa peretasan tidak resmi:

  • hapus build/.root akan memaksa untuk menginstal ulang kerangka
  • hapus build/*/.stamp_target_installed paksa instal ulang setiap paket target
  • bergantung pada toolchain Anda, Anda dapat menginstal ulang libc dan co dengan menghapus:
  • stamps/ext-toolchain-installed (eksternal)
  • stamps/ct-ng-toolchain-installed (ctng)
  • target/lib/libc.so.0 (buildroot)

Dan kemudian buat lagi.

Ingatkan, ada banyak alasan mengapa tip ini bisa melakukan hal yang salah. Satu-satunya cara resmi saat ini untuk membangun kembali target adalah "bersihkan".


Buildroot memiliki target khusus untuk membersihkan direktori build untuk paket tertentu, tetapi ini tidak menyentuh file yang diinstal. Mengutip panduan pengguna:

Saat sebuah paket dihapus dari konfigurasi, Buildroot tidak melakukan sesuatu yang istimewa. Itu tidak menghapus file yang diinstal oleh paket ini dari sistem file root target atau dari sysroot rantai alat. Diperlukan pembangunan kembali penuh untuk menyingkirkan paket ini. Namun, umumnya Anda tidak perlu menghapus paket ini sekarang:Anda dapat menunggu istirahat makan siang berikutnya untuk memulai ulang build dari awal.

Meskipun demikian, Anda dapat menghapus file build untuk paket tertentu dengan menjalankan make <PKG-NAME>-dirclean . Misalnya, jika saya ingin menghapus file build untuk i2c-tools , saya akan menjalankan make i2c-tools-dirclean . <PKG-NAME>-dirclean target hanya menjalankan rm -rf pada output/build/<PKG-NAME> direktori. Ini tidak akan menghapus file yang diinstal dari output/target/ . Jika Anda ingin menghapus file dari rootfs Anda tanpa membangun kembali secara penuh, tidak apa-apa - Anda bisa masuk ke output/target/ , rm file yang tidak lagi Anda inginkan, lalu jalankan make untuk membuat ulang gambar akhir Anda. Pastikan konfigurasi Buildroot Anda juga tidak disetel untuk membangun kembali dan menginstal paket yang ingin Anda hapus.


Linux
  1. Bagaimana Cara Mendapatkan Hanya File yang Dibuat Setelah Berkencan Dengan Ls?

  2. Bagaimana cara menambahkan perangkat lunak saya sendiri ke paket Buildroot Linux?

  3. Bagaimana cara menampilkan hanya file dari perintah aws s3 ls?

  1. Bagaimana saya bisa mendaftar hanya file yang tidak kosong menggunakan ls?

  2. Bagaimana membedakan hanya baris pertama dari dua file?

  3. Bagaimana cara membuat tautan simbolik ke semua file (kelas file) dalam direktori?

  1. Cara Mendaftar File yang Diinstal Dari Paket RPM atau DEB di Linux

  2. Cara Membersihkan Versi Snap Package di Linux [Kiat Singkat]

  3. lsof - batasi output hanya ke file fisik - bagaimana caranya?