Әзірлеу енді ғана басталған кезде, қандай пакеттердің мақсатты rootfs-ке өтетіні жиі белгісіз.
Басқаша айтқанда, 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 орната аламыз
Ал, біз өзіміздің жинақты тараттық делік, жүйенің кейінірек әртүрлі нұсқаларын қалай жақсы жинау керектігі туралы жұмыс басталды.