Как интегрировать функцию hddimg в wic image Yocto

#linux #embedded #kernel #yocto #yocto-wic

#linux #встроенный #ядро #yocto #yocto-wic

Вопрос:

Мне нужно создать образ wic с включением secureboot. Затем я изменил в local.conf на «IMAGE_FSTYPES = «wic» » затем bitbake-core-image-sato-sdk, чтобы получить изображение.

Сгенерированный образ может загружаться, но не может загружаться с помощью secureboot. Я исследовал и обнаружил, что слой в моей meta-secureboot имел secureboot.class . Этот класс вызывал do_efi_populate и efi_iso_populate_append .

В этих двух функциях содержится строка, управляющая созданием bzImage.подписано для secureboot. Поэтому я никак не могу перейти на wic image, потому что эти две функции застряли с do_efi_populate и efi_iso_populate, которые вызывают только iso и hddimg . У вас, ребята, есть идея вызвать функцию из hddimg / iso в wic.

Шаг выполнен:

  1. Создайте core-image-sato-sdk.bbappend . Затем добавляем:

    наследовать image_types_wic

    do_image_wic[recrdeptask] = «do_efi_iso_populate».

пример secureboot.class:

    efi_populate_append() {
        #Sign bzImage and deploy as bzImage.signed
        sb-keymgmt.py -c sign -kn ${DEPLOY_DIR_IMAGE}/yocto.key -cn ${DEPLOY_DIR_IMAGE}/yocto.crt - 
        usf ${DEPLOY_DIR_IMAGE}/bzImage -sf ${DEPLOY_DIR_IMAGE}/bzImage.signed
        install -m 0644 ${DEPLOY_DIR_IMAGE}/bzImage.signed ${DEST}/bzImage.signed}
  efi_iso_populate_append() 
        iso_dir=$1
        efi_populate $iso_dir
        # Build a EFI directory to create efi.img
        mkdir -p ${EFIIMGDIR}/${EFIDIR}
        cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}