Wanneer ontwikkeling net begin, is dit dikwels nie duidelik watter pakkette na die teiken rootfs sal gaan nie.
Met ander woorde, dit is te vroeg om LFS, buildroot of yocto (of iets anders) te gryp, maar jy moet reeds begin. Vir die rykes (ek het 4GB eMMC op proefmonsters) is daar 'n uitweg om 'n verspreiding aan ontwikkelaars te versprei wat hulle in staat sal stel om vinnig iets te lewer wat tans ontbreek, en dan kan ons altyd lyste van pakkette versamel en 'n lys skep vir die teikenwortels.
Hierdie artikel is nie nuut nie en is 'n eenvoudige kopieer-plak-instruksie.
Die doel van die artikel is om Ubuntu-rootfs vir ARM-borde te bou (in my geval, gebaseer op Colibri imx7d).
Bou 'n beeld
Ons stel die teiken rootfs bymekaar vir replikasie.
Ubuntu-basis uitpak
Ons kies self die vrystelling op grond van behoefte en ons eie voorkeure. Hier het ek 20 gegee.
$ 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
Gaan BINFMT-ondersteuning in die kern na
As u 'n algemene verspreiding het, is daar ondersteuning vir BINFMT_MISC en alles is gekonfigureer, indien nie, dan is ek seker dat u weet hoe om BINFMT-ondersteuning in die kern te aktiveer.
Maak seker dat BINFMT_MISC in die kern geaktiveer is:
Kernkop-lêers en -modules is 'n aparte saak. Natuurlik sal ons nie die selflaaiprogram, kern, modules, toestelboom via Ubuntu installeer nie. Hulle sal van buite na ons toe kom of ons sal hulle self monteer of hulle sal deur die bordvervaardiger aan ons gegee word, dit is in elk geval buite die bestek van hierdie instruksie.
In 'n mate is weergawe-afwyking aanvaarbaar, maar dit is beter om dit uit die kernbou te neem.
# apt install --yes linux-headers-generic
Kom ons kyk wat gebeur het en dit het baie uitgedraai:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Moenie vergeet om 'n wagwoord in te stel nie.
Verpak die beeld
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Boonop kan ons etckeeper installeer met die autopush-instelling
Wel, kom ons sê ons het ons samestelling versprei, die werk het begin oor hoe om later verskillende weergawes van ons stelsel die beste saam te stel.