From 5a4fa9e32e1ecbf1f15b005fac83792bb93dbd42 Mon Sep 17 00:00:00 2001 From: Patrick Vogelaar Date: Tue, 5 Dec 2023 22:31:39 +0100 Subject: [PATCH] feat(qemu-coreos-arm64): add new uefi boot capable qemu machine This new machine supports UEFI boot and also is capable of doing the complete update procedure of efibootguard. --- .../conf/machine/qemu-coreos-arm64.conf | 18 ++++++++++++++++++ .../wic/qemu-efi-coreos-generic.wks.in | 11 +++++++++++ 2 files changed, 29 insertions(+) create mode 100644 layers/meta-belden-coreos-bsp/conf/machine/qemu-coreos-arm64.conf create mode 100644 layers/meta-belden-coreos-bsp/wic/qemu-efi-coreos-generic.wks.in diff --git a/layers/meta-belden-coreos-bsp/conf/machine/qemu-coreos-arm64.conf b/layers/meta-belden-coreos-bsp/conf/machine/qemu-coreos-arm64.conf new file mode 100644 index 0000000..1e36da4 --- /dev/null +++ b/layers/meta-belden-coreos-bsp/conf/machine/qemu-coreos-arm64.conf @@ -0,0 +1,18 @@ +#@TYPE: Machine +#@NAME: qemu-generic-arm64 +#@DESCRIPTION: Generic Arm64 machine for typical SystemReady platforms, which +#have working firmware and boot via EFI. + +require conf/machine/qemu-generic-arm64.conf +MACHINEOVERRIDES =. "qemu-generic-arm64:" + +IMAGE_FSTYPES += "wic.xz wic.bmap" +WKS_FILE = "qemu-efi-coreos-generic.wks.in" +# QB_DRIVE_TYPE = "/dev/sd" + +COREOS_IMAGE_GENERATE_UKI = "1" +COREOS_IMAGE_GENERATE_SWU = "1" + +EFIBOOTGUARD_TIMEOUT ?= "0" +require conf/machine/include/coreos-generic-features/efi.inc +require conf/machine/include/coreos-generic-features/partitions.inc diff --git a/layers/meta-belden-coreos-bsp/wic/qemu-efi-coreos-generic.wks.in b/layers/meta-belden-coreos-bsp/wic/qemu-efi-coreos-generic.wks.in new file mode 100644 index 0000000..86b43e8 --- /dev/null +++ b/layers/meta-belden-coreos-bsp/wic/qemu-efi-coreos-generic.wks.in @@ -0,0 +1,11 @@ +# short-description: Create an EFI disk image +# long-description: Creates a partitioned EFI disk image that the user +# can directly dd to boot media. + +part --source efibootguard-efi --label efi --part-type=EF00 --ondisk mmcblk1 --offset 20480S --size 64M --extra-space 0 --overhead-factor 1 +part / --source rootfs --fstype=ext4 --label rootfs0 --ondisk mmcblk1 --size ${WKS_PART_ROOT_SIZE} --extra-space 0 --overhead-factor 1 +part --fstype=ext4 --label rootfs1 --ondisk mmcblk1 --size ${WKS_PART_ROOT_SIZE} --extra-space 0 --overhead-factor 1 +part --source efibootguard-boot --label ebg0 --part-type=0700 --sourceparams "args=coreos.root=rootfs0,watchdog=${EFIBOOTGUARD_TIMEOUT},revision=2,kernel=${COREOS_KERNEL_FILENAME};KERNEL.EFI" --ondisk mmcblk1 --align 1024 --size 128M --extra-space 0 --overhead-factor 1 +part --source efibootguard-boot --label ebg1 --part-type=0700 --sourceparams "args=coreos.root=rootfs1,watchdog=${EFIBOOTGUARD_TIMEOUT},revision=1,kernel=${COREOS_KERNEL_FILENAME};KERNEL.EFI" --ondisk mmcblk1 --align 1024 --size 128M --extra-space 0 --overhead-factor 1 + +bootloader --ptable gpt \ No newline at end of file