Кога развојот штотуку започнува, често не е јасно кои пакети ќе одат до целните rootfs.
Со други зборови, прерано е да се зграпчите LFS, buildroot или yocto (или нешто друго), но веќе треба да започнете. За богатите (имам 4 GB eMMC на пилот примероци) постои излез да им се дистрибуира на програмерите дистрибуција што ќе им овозможи брзо да испорачаат нешто што моментално недостасува, а потоа секогаш можеме да собираме списоци со пакети и да креираме листа за целните rootfs.
Оваа статија не е нова и е едноставна инструкција за копирање-пејст.
Целта на статијата е да се изградат Ubuntu rootfs за ARM табли (во мојот случај, базирани на Colibri imx7d).
Градење слика
Ние ги собираме целните rootf за репликација.
Отпакување на базата на 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 во кернелот.
Проверете дали BINFMT_MISC е овозможен во кернелот:
Датотеките и модулите со заглавие на јадрото се посебна работа. Се разбира, нема да го инсталираме подигнувачот, кернелот, модулите, дрвото на уредите преку 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
Дополнително, можеме да инсталираме etckeeper со поставката за автоматско притиснување
Па, да речеме дека го дистрибуиравме нашето склопување, започна работата за тоа како најдобро да се склопат подоцна различни верзии на нашиот систем.