Kun kehitys vasta alkaa, ei useinkaan ole selvää, mitkä paketit menevät kohderootfeihin.
Toisin sanoen, on liian aikaista tarttua LFS:ään, buildrootiin tai yoctoon (tai johonkin muuhun), mutta sinun on jo aloitettava. Rikkaille (minulla on 4 Gt:n eMMC pilottinäytteissä) on tapa jakaa kehittäjille jakelu, jonka avulla he voivat toimittaa nopeasti jotain, mikä tällä hetkellä puuttuu, ja sitten voimme aina kerätä luetteloita paketeista ja luoda luettelon kohdejuuret.
Tämä artikkeli ei ole uusi, ja se on yksinkertainen kopioi-liitä-ohje.
Artikkelin tarkoituksena on rakentaa Ubuntu rootfs ARM-levyille (minun tapauksessani Colibri imx7d:n perusteella).
Kuvan rakentaminen
Kokoamme kohdejuuret replikaatiota varten.
Ubuntu Basen purkaminen
Valitsemme julkaisun itse tarpeen ja omien mieltymystemme perusteella. Tässä olen antanut 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
Tarkistetaan BINFMT-tukea ytimessä
Jos sinulla on yhteinen jakelu, BINFMT_MISC:lle on tuki ja kaikki on määritetty, jos ei, tiedät varmasti, kuinka BINFMT-tuki otetaan käyttöön ytimessä.
Ytimen otsikkotiedostot ja moduulit ovat eri asia. Emme tietenkään asenna käynnistyslatainta, ydintä, moduuleja, laitepuuta Ubuntun kautta. Ne tulevat meille ulkopuolelta tai kokoamme ne itse tai luovutamme ne levyn valmistajalta, joka tapauksessa tämä ei kuulu tämän ohjeen piiriin.
Versioiden erot ovat jossain määrin hyväksyttäviä, mutta on parempi ottaa ne ytimen koontiversiosta.
# apt install --yes linux-headers-generic
Katsotaan mitä tapahtui ja siitä tuli paljon:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Älä unohda asettaa salasanaa.
Kuvan pakkaaminen
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Lisäksi voimme asentaa etckeeperin autopush-asetuksella
Oletetaan, että jaoimme kokoonpanomme, aloitettiin työ sen suhteen, kuinka parhaiten koota myöhempiä eri versioita järjestelmästämme.