Kiam evoluo ĵus komenciĝas, estas ofte ne klare kiuj pakaĵoj iros al la celaj radikoj.
Alivorte, estas tro frue por kapti LFS, buildroot aŭ yocto (aŭ io alia), sed vi jam devas komenci. Por la riĉuloj (mi havas 4GB eMMC sur pilotspecimenoj) ekzistas eliro por distribui al programistoj distribuon kiu permesos al ili rapide liveri ion, kio nuntempe mankas, kaj tiam ni ĉiam povas kolekti listojn de pakaĵoj kaj krei liston por la celradikoj.
Ĉi tiu artikolo ne estas nova kaj estas simpla kopi-alglua instrukcio.
La celo de la artikolo estas konstrui Ubuntu-radikojn por ARM-tabuloj (en mia kazo, surbaze de Colibri imx7d).
Konstruante bildon
Ni kunvenas la celradikojn por reproduktado.
Malpakado de Ubuntu-Bazo
Ni mem elektas la liberigon laŭ bezono kaj niaj propraj preferoj. Ĉi tie mi donis 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
Kontrolante BINFMT-subtenon en la kerno
Se vi havas komunan distribuon, tiam ekzistas subteno por BINFMT_MISC kaj ĉio estas agordita, se ne, tiam mi certas, ke vi scias kiel ebligi BINFMT-subtenon en la kerno.
Certigu, ke BINFMT_MISC estas ebligita en la kerno:
Kernel-kapodosieroj kaj moduloj estas aparta afero. Kompreneble, ni ne instalos la ekŝargilon, kernon, modulojn, aparatarbon per Ubuntu. Ili venos al ni de ekstere aŭ ni mem kunvenos ilin aŭ ili estos donitaj al ni de la fabrikanto de la tabulo, ĉiukaze ĉi tio estas ekster la amplekso de ĉi tiu instrukcio.
Iagrade, versio-diverĝo estas akceptebla, sed estas pli bone preni ilin el la kerno-konstruo.
# apt install --yes linux-headers-generic
Ni vidu kio okazis kaj rezultis multe:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Ne forgesu agordi pasvorton.
Pakado de la bildo
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Aldone, ni povas instali etckeeper kun la agordo de aŭtomata puŝo
Nu, ni diru, ke ni distribuis nian asembleon, la laboro komenciĝis pri kiel plej bone kunmeti poste malsamajn versiojn de nia sistemo.
Ni povas, kompreneble, krei branĉojn sur la aparato anticipe (ni diru, ke ni faras skripton aŭ servon, kiu funkcios la unuan fojon kiam ĝi estas lanĉita).