Өнүктүрүү жаңыдан башталганда, кайсы пакеттер максаттуу rootf'терге бараары белгисиз.
Башкача айтканда, LFS, buildroot же yocto (же башка бир нерсе) алуу үчүн али эрте, бирок сиз буга чейин башташыңыз керек. Байлар үчүн (менде пилоттук үлгүлөр боюнча 4 ГБ eMMC бар) иштеп чыгуучуларга бөлүштүрүүнү таратуунун жолу бар, бул аларга учурда жетишпеген нерсени тез жеткирүүгө мүмкүндүк берет, андан кийин биз ар дайым пакеттердин тизмесин чогултуп, тизме түзө алабыз. максаттуу тамырлар.
Бул макала жаңы эмес жана жөнөкөй көчүрүп чаптоо көрсөтмөсү.
Макаланын максаты - ARM такталары үчүн Ubuntu rootfs түзүү (менин учурда, Colibri imx7d негизинде).
Имидж түзүү
Биз репликация үчүн максаттуу rootfs чогултабыз.
Ubuntu базасын ачуу
Биз релизди муктаждыктарга жана өзүбүздүн каалоолорубузга жараша өзүбүз тандайбыз. Мына мен 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
Ядродогу BINFMT колдоосу текшерилүүдө
Эгерде сизде жалпы бөлүштүрүү бар болсо, анда BINFMT_MISC колдоо бар жана баары конфигурацияланган, эгерде андай эмес болсо, анда ядродо BINFMT колдоосун кантип иштетүүнү билесиз деп ишенем.
Ядронун баш файлдары жана модулдары өзүнчө маселе. Албетте, биз Ubuntu аркылуу жүктөгүчтү, ядрону, модулдарды, түзмөк дарагын орнотпойбуз. Алар бизге сырттан келишет же биз аларды өзүбүз чогултабыз же тактайды өндүрүүчү бизге берет, кандай болгон күндө да бул бул нускаманын алкагына кирбейт.
Кандайдыр бир деңгээлде версиянын дивергенциясы алгылыктуу, бирок аларды ядро түзүмүнөн алган жакшы.
# apt install --yes linux-headers-generic
Келгиле, эмне болгонун карап көрөлү жана ал көп болду:
# apt clean
# du -d 0 -h / 2>/dev/null
770M /
Сырсөз коюуну унутпаңыз.
Сүрөттү таңгактоо
$ sudo tar -C rootfs --transform "s|^./||" --numeric-owner --owner=0 --group=0 -c ./ | tar --delete ./ | gzip > rootfs.tar.gz
Кошумчалай кетсек, биз autopush жөндөөлөрү менен etckeeper орното алабыз
Макул, биз жыйыныбызды тараттык дейли, системабыздын кийинчерээк ар кандай версияларын кантип мыкты чогултуу боюнча иш башталды.