Kur zhvillimi sapo fillon, shpesh nuk është e qartë se cilat paketa do të shkojnë në rootf-et e synuara.
Me fjalë të tjera, është shumë herët për të rrëmbyer LFS, buildroot ose yocto (ose diçka tjetër), por tashmë duhet të filloni. Për të pasurit (kam 4 GB eMMC në mostrat pilot) ka një rrugëdalje për t'u shpërndarë zhvilluesve një shpërndarje që do t'i lejojë ata të dorëzojnë shpejt diçka që aktualisht mungon, dhe më pas ne mund të mbledhim gjithmonë lista paketash dhe të krijojmë një listë për rrënjët e synuara.
Ky artikull nuk është i ri dhe është një udhëzim i thjeshtë copy-paste.
Qëllimi i artikullit është të ndërtojë Ubuntu rootf për bordet ARM (në rastin tim, bazuar në Colibri imx7d).
Ndërtimi i një imazhi
Ne mbledhim rootf-et e synuara për përsëritje.
Shpaketimi i bazës së Ubuntu
Ne e zgjedhim vetë lëshimin bazuar në nevojën dhe preferencat tona. Këtu kam dhënë 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
Kontrollimi i mbështetjes BINFMT në kernel
Nëse keni një shpërndarje të përbashkët, atëherë ka mbështetje për BINFMT_MISC dhe gjithçka është konfiguruar, nëse jo, atëherë jam i sigurt që ju e dini se si të aktivizoni mbështetjen BINFMT në kernel.
Sigurohuni që BINFMT_MISC është i aktivizuar në kernel:
Skedarët dhe modulet e kokës së kernelit janë një çështje më vete. Natyrisht, ne nuk do të instalojmë ngarkuesin, kernelin, modulet, pemën e pajisjes nëpërmjet Ubuntu. Ata do të vijnë tek ne nga jashtë ose do t'i montojmë vetë ose do të na jepen nga prodhuesi i tabelës, në çdo rast kjo është jashtë objektit të këtij udhëzimi.
Në një farë mase, divergjenca e versionit është e pranueshme, por është më mirë t'i merrni ato nga ndërtimi i kernelit.
# apt install --yes linux-headers-generic
Le të shohim se çfarë ndodhi dhe doli shumë:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Mos harroni të vendosni një fjalëkalim.
Paketimi i imazhit
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Për më tepër, ne mund të instalojmë etckeeper me cilësimin e autopushit
Epo, le të themi se shpërndamë asamblenë tonë, filloi puna për mënyrën më të mirë për të montuar më vonë versione të ndryshme të sistemit tonë.
Natyrisht, ne mund të krijojmë degë në pajisje paraprakisht (le të themi se bëjmë një skript ose një shërbim që do të funksionojë herën e parë që do të lëshohet).