Nalika pangwangunan nembé dimimitian, sering henteu écés bungkusan mana anu bakal angkat ka rootfs target.
Kalayan kecap séjén, éta teuing mimiti grab LFS, buildroot atanapi yocto (atawa hal sejenna), tapi anjeun geus kudu ngamimitian. Pikeun euyeub (Kuring boga 4GB eMMC on sampel pilot) aya jalan kaluar pikeun ngadistribusikaeun ka pamekar distribusi anu bakal ngidinan pikeun gancang nganteurkeun hiji hal anu ayeuna leungit, lajeng urang salawasna bisa ngumpulkeun daptar bungkusan na nyieun daptar pikeun target rootfs.
Tulisan ieu sanés énggal sareng mangrupikeun instruksi salin-témpél anu saderhana.
Tujuan tina tulisan nyaéta ngawangun rootfs Ubuntu pikeun papan ARM (dina hal kuring, dumasar kana Colibri imx7d).
Ngawangun gambar
Urang ngumpul rootfs target pikeun réplikasi.
Unpacking Ubuntu Base
Urang milih pelepasan sorangan dumasar kana kabutuhan sareng karesep urang sorangan. Di dieu kuring masihan 20.
$ mkdir ubuntu20
$ cd ubuntu20
$ mkdir rootfs
$ wget http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04-base-armhf.tar.gz
$ tar xf ubuntu-base-20.04-base-armhf.tar.gz -C rootfs
Mariksa rojongan BINFMT dina kernel
Upami anjeun gaduh distribusi umum, teras aya dukungan pikeun BINFMT_MISC sareng sadayana dikonpigurasi, upami henteu, maka kuring yakin anjeun terang kumaha ngaktifkeun dukungan BINFMT dina kernel.
File sareng modul header kernel mangrupikeun masalah anu misah. Tangtu, urang moal install bootloader, kernel, modul, tangkal alat via Ubuntu. Aranjeunna bakal sumping ka urang ti luar atanapi urang bakal ngumpul aranjeunna sorangan atanapi aranjeunna bakal dipasihkeun ka kami ku produsén dewan, dina hal naon waé ieu saluareun ruang lingkup instruksi ieu.
Pikeun extent sababaraha, versi divergence bisa ditarima, tapi leuwih hade nyandak eta tina ngawangun kernel.
# apt install --yes linux-headers-generic
Hayu urang tingali naon anu kajantenan sareng tétéla seueur pisan:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Tong hilap nyetél kecap akses.
Bungkusan gambar
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Salaku tambahan, urang tiasa masang etckeeper kalayan setélan autopush
Nya, hayu urang ngadistribusikaeun assembly urang, karya dimimitian dina cara pangalusna keur ngumpul engké versi béda tina sistem urang.
Urang tiasa, tangtosna, nyiptakeun cabang dina alat sateuacanna (nyaéta urang ngadamel naskah atanapi jasa anu bakal dijalankeun pertama kalina diluncurkeun).