Il-ħolqien ta' immaġni Ubuntu għal ARM "mill-bidu"
Meta l-iżvilupp għadu kemm jibda, ħafna drabi ma jkunx ċar liema pakketti se jmorru għall-għeruq fil-mira.
Fi kliem ieħor, għadu kmieni wisq biex taqbad LFS, buildroot jew yocto (jew xi ħaġa oħra), imma diġà trid tibda. Għas-sinjuri (għandi 4GB eMMC fuq kampjuni pilota) hemm mod kif titqassam lill-iżviluppaturi distribuzzjoni li tippermettilhom iwasslu malajr xi ħaġa li bħalissa hija nieqsa, u allura nistgħu dejjem niġbru listi ta 'pakketti u noħolqu lista għal l-għeruq fil-mira.
Dan l-artikolu mhuwiex ġdid u huwa sempliċi istruzzjoni kopja-pejst.
L-iskop tal-artikolu huwa li jibni rootfs Ubuntu għal bordijiet ARM (fil-każ tiegħi, ibbażat fuq Colibri imx7d).
Bini ta 'immaġni
Aħna niġbru l-għeruq fil-mira għar-replikazzjoni.
Tneħħi l-ippakkjar tal-Ubuntu Base
Aħna nagħżlu r-rilaxx aħna stess ibbażati fuq il-ħtieġa u l-preferenzi tagħna stess. Hawnhekk tajt 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
Iċċekkja l-appoġġ BINFMT fil-kernel
Jekk għandek distribuzzjoni komuni, allura hemm appoġġ għal BINFMT_MISC u kollox huwa kkonfigurat, jekk le, allura jien ċert li taf kif tippermetti l-appoġġ BINFMT fil-qalba.
Fajls u moduli tal-header tal-kernel huma kwistjoni separata. Naturalment, mhux se ninstallaw il-bootloader, il-kernel, il-moduli, is-siġra tal-apparat permezz ta 'Ubuntu. Se jiġu għandna minn barra jew aħna se niġbruhom aħna stess jew se jingħataw lilna mill-manifattur tal-bord, fi kwalunkwe każ dan huwa lil hinn mill-ambitu ta 'din l-istruzzjoni.
Sa ċertu punt, id-diverġenza tal-verżjoni hija aċċettabbli, iżda huwa aħjar li teħodhom mill-build tal-kernel.
# apt install --yes linux-headers-generic
Ejja naraw x'ġara u rriżulta ħafna:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Tinsiex issettja password.
Ippakkjar l-immaġni
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Barra minn hekk, nistgħu ninstallaw etckeeper bl-issettjar autopush
Ukoll, ejja ngħidu li qassamna l-assemblaġġ tagħna, ix-xogħol beda dwar kif l-aħjar niġbru aktar tard verżjonijiet differenti tas-sistema tagħna.
Nistgħu, ovvjament, noħolqu fergħat fuq l-apparat bil-quddiem (ejja ngħidu li nagħmlu script jew servizz li jibda jaħdem l-ewwel darba li jiġi mniedi).