Paghimo usa ka imahe sa Ubuntu alang sa ARM "gikan sa wala"
Kung nagsugod pa lang ang pag-uswag, kasagaran dili klaro kung unsang mga pakete ang moadto sa target rootfs.
Sa laing pagkasulti, sayo pa kaayo aron makuha ang LFS, buildroot o yocto (o uban pa), apan kinahanglan na nimo nga magsugod. Alang sa mga adunahan (ako adunay 4GB nga eMMC sa mga sample sa piloto) adunay usa ka paagi sa pag-apod-apod sa mga developer sa usa ka pag-apod-apod nga magtugot kanila sa dali nga paghatud sa usa ka butang nga nawala karon, ug pagkahuman mahimo namon kanunay nga mangolekta mga lista sa mga pakete ug maghimo usa ka lista alang sa ang target nga mga ugat.
Kini nga artikulo dili bag-o ug usa ka yano nga panudlo sa pagkopya-paste.
Ang katuyoan sa artikulo mao ang pagtukod sa Ubuntu rootfs alang sa ARM boards (sa akong kaso, base sa Colibri imx7d).
Pagtukod og imahe
Among gitigom ang target rootfs para sa replikasyon.
Pag-unpack sa Ubuntu Base
Gipili namo ang pagpagawas sa among kaugalingon base sa panginahanglan ug sa among kaugalingong gusto. Ania ako naghatag ug 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
Pagsusi sa suporta sa BINFMT sa kernel
Kung adunay ka komon nga pag-apod-apod, nan adunay suporta alang sa BINFMT_MISC ug ang tanan na-configure, kung dili, nan sigurado ako nga nahibal-an nimo kung giunsa ang suporta sa BINFMT sa kernel.
Ang mga file ug module sa kernel header usa ka lahi nga butang. Siyempre, dili namo i-install ang bootloader, kernel, modules, device tree pinaagi sa Ubuntu. Moanhi sila kanamo gikan sa gawas o kami mismo ang magtigum kanila o sila ihatag kanamo sa tiggama sa board, sa bisan unsang kaso kini lapas sa sakup sa kini nga panudlo.
Sa pila ka sukod, ang pagkalainlain sa bersyon madawat, apan mas maayo nga kuhaon kini gikan sa pagtukod sa kernel.
# apt install --yes linux-headers-generic
Atong tan-awon kung unsa ang nahitabo ug daghan ang nahimo:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Ayaw kalimti ang pagbutang ug password.
Pagputos sa imahe
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Dugang pa, mahimo naton i-install ang etckeeper gamit ang setting sa autopush
Aw, ingnon ta nga among giapod-apod ang among asembliya, nagsugod ang trabaho kung giunsa ang labing kaayo nga pag-assemble sa ulahi nga lainlaing mga bersyon sa among sistema.
etckeeper mahimong motabang kanato.
Ang kaluwasan usa ka personal nga butang:
mahimo nimong panalipdan ang pipila ka mga sanga
paghimo og usa ka talagsaon nga yawe alang sa matag device
Siyempre, makahimo kami og mga sanga sa device nga abante (ingnon ta nga naghimo kami og script o serbisyo nga modagan sa unang higayon nga kini gilansad).
O makahimo kita og usa ka butang nga mas maalamon...
Tapolan nga paagi
Magbaton kita og usa ka matang sa talagsaon nga identifier, isulti ang serial number sa processor (o MAC - seryoso nga mga kompanya ang nagpalit sa range):
iring / proc / cpuinfo
# cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 60.36
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 1
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 60.36
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
Hardware : Freescale i.MX7 Dual (Device Tree)
Revision : 0000
Serial : 06372509
Dayon magamit nato kini alang sa ngalan sa sanga diin atong iduso: