bzImage и конфигурация grub не установлены в .dsk в сборке yocto dsk

Я создаю образ yocto с bitbake, с типом изображения dsk (по умолчанию был wic, который я изменил на dsk в local.conf). Он генерирует bzImage, boot/grub/grub.conf. Но они не установлены в dsk.

Как и в формате .dsk, у меня есть два раздела с идентичным EFI и третий раздел в качестве корневой файловой системы ОС.

В 1-м дереве два раздела похожи,

├── EFI
│   └── BOOT
│       └── bootia32.efi
├── EFI_internal_storage
│   └── BOOT
│       └── bootia32.efi
├── emmc-partitions-data
└── rmc.db

Итак, здесь нет ядра и конфига grub. Как установить образы ядра и grub в этот раздел как часть образа dsk?

Еще один мой вопрос: каково значение наличия двух одинаковых разделов, содержащих EFI?


person Abhishek Dwivedi    schedule 29.06.2017    source источник
comment
Насколько мне известно, в текущей версии OpenEmbedded нет изображения типа dsk. Какие слои и версии вы используете? Где определяется тип изображения dsk?   -  person Anders    schedule 30.06.2017
comment
Это локальный скрипт, добавленный для dsk.   -  person Abhishek Dwivedi    schedule 06.07.2017


Ответы (1)


  • Изучив все вокруг, я обнаружил, что vmlinuz нужно переименовать в форму bzImage, а initrd переименовать в форму архива .cpio. Ничего особо технического как такового.
  • Мы должны установить конфигурацию grub отдельно через сценарий установки, вставив bbclass bbappend (в зависимости от области использования в цели) сценария создания образа. Похоже, это не общее требование, не уверен.

    INST_LOC=${IMAGE_ROOTFS}/boot install -d ${INST_LOC}/boot/grub install -m 0644 ${DEPLOY_DIR_IMAGE}/boot/grub/grub.conf ${INST_LOC}/boot/grub/grub.conf

person Abhishek Dwivedi    schedule 06.07.2017