Yocto - Создать и заполнить отдельный / домашний раздел - PullRequest
1 голос
/ 17 мая 2019

Я создаю довольно простой образ Yocto на основе x86.

Я хочу, чтобы / file system была доступна только для чтения, поэтому я установил

IMAGE_FEATURES_append = " read-only-rootfs "

в пользовательской копииоригинал core-image-minimal.bb.Однако я хочу, чтобы запись /home была доступна для записи в отдельном разделе.

Итак, я добавляю строку

part /home --ondisk sda --fstype=ext4 --label home --align 1024 --size 600

в genericx86.wks.Это создает фактический /home раздел в конечном wic-образе, но, естественно, не содержит никаких данных, поскольку для него нет соответствующего rootfs.Это приводит к следующему вполне ожидаемому сообщению после загрузки: No directory, logging in with HOME=/.

В интернете на удивление мало информации об этом.Есть это объяснение:

Намного проще создавать или изменять рецепты сборки для подготовки одного каталога rootfs на раздел.

Я просто хотел бы тамбыла любая ссылка в документации или пример того, как этого добиться.

Я вижу, что разделы заполняются скриптами (плагинами) Python, такими как rootfs.py, и что параметры изображения, такие как IMAGE_ROOTFS_SIZE, являютсяуказанный в упомянутых файлах рецептов изображений, таких как genericx86.wks, но этого недостаточно для того, чтобы я соединил эти части вместе.

Я прочитал creation-partitioned-images-using-wic и связанные открытые встроенные кикстарт руководства, там нет никаких подсказок.

Цените чью-то добрую помощь.

1 Ответ

4 голосов
/ 17 мая 2019

С WIC вы можете сделать что-то вроде этого:

custom.wks.in

...

part / --source rootfs --ondisk sda --fstype=ext4 --label system --exclude-path=home/    
part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --ondisk sda --fstype=ext4 --label home

...

Обратите внимание, что важно, если вы хотите использовать ${IMAGE_ROOTFS} в файле WKS, чтобы назвать его суффиксом .in.

...