ProHoster > Blog > Bestjoer > In Ubuntu-ôfbylding meitsje foar ARM "fanôf it begjin"
In Ubuntu-ôfbylding meitsje foar ARM "fanôf it begjin"
As de ûntwikkeling krekt begjint, is it faaks net dúdlik hokker pakketten nei de doelrootfs sille gean.
Mei oare wurden, it is te betiid om LFS, buildroot of yocto (of wat oars) te pakken, mar jo moatte al begjinne. Foar de rike (ik haw 4GB eMMC op pilot-samples) is d'r in útwei om in distribúsje oan ûntwikkelders te fersprieden wêrmei se fluch wat kinne leverje dat op it stuit ûntbrekt, en dan kinne wy altyd listen mei pakketten sammelje en in list meitsje foar de doelgroep rootfs.
Dit artikel is net nij en is in ienfâldige copy-paste ynstruksje.
It doel fan it artikel is om Ubuntu rootfs te bouwen foar ARM-boards (yn myn gefal, basearre op Colibri imx7d).
It bouwen fan in byld
Wy sammelje de doelrootfs foar replikaasje.
Ubuntu Base útpakke
Wy kieze de frijlitting sels op basis fan need en ús eigen foarkar. Hjir haw ik 20 jûn.
$ 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
Kontrolearje BINFMT-stipe yn 'e kernel
As jo in mienskiplike distribúsje hawwe, dan is d'r stipe foar BINFMT_MISC en alles is konfigureare, sa net, dan bin ik wis dat jo witte hoe't jo BINFMT-stipe yn 'e kearn kinne ynskeakelje.
Soargje derfoar dat BINFMT_MISC ynskeakele is yn 'e kernel:
Kernel-headerbestannen en modules binne in aparte saak. Fansels sille wy de bootloader, kernel, modules, apparaatbeam fia Ubuntu net ynstallearje. Se komme fan bûten nei ús ta of wy sette se sels yn of se wurde oan ús jûn troch de boerdfabrikant, dit leit yn alle gefallen bûten it ramt fan dizze ynstruksje.
Yn guon mjitte, ferzje divergence is akseptabel, mar it is better te nimmen se út de kernel build.
# apt install --yes linux-headers-generic
Litte wy sjen wat der bard is en it kaam in protte út:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Ferjit net in wachtwurd yn te stellen.
De ôfbylding ynpakke
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Derneist kinne wy etckeeper ynstallearje mei de autopush-ynstelling
No, lit ús sizze dat wy ús gearkomste ferspraat hawwe, it wurk begon oer hoe't jo letter ferskate ferzjes fan ús systeem it bêste kinne gearstalle.
Wy kinne fansels tûken meitsje op it apparaat fan tefoaren (litte wy sizze dat wy in skript meitsje as in tsjinst dy't de earste kear dat it wurdt lansearre sil rinne).