我需要使用启用安全启动创建 wic 映像。然后我将 local.conf 更改为 "IMAGE_FSTYPES = "wic" " 然后 bitbake-core-image-sato-sdk 以获取图像。
生成的映像能够启动,但无法使用secureboot 启动。我调查并发现我的 meta-secureboot 中的层有一个secureboot.class。这个类正在调用 do_efi_populate 和 efi_iso_populate_append 。
在这两个函数中包含一行控制生成 bzImage.signed 用于安全启动。因此,我无法更改为 wic 图像,因为这两个函数卡在 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}