#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.
Шаг выполнен:
-
Создайте 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}