Added test_generic_efi_grub_qemu and test_generic_efi_systemd_qemu test cases and wks template to build and boot generic EFI images in qemu.
[YOCTO #10073] Signed-off-by: Ed Bartosh <ed.bart...@linux.intel.com> --- meta-selftest/wic/test_generic_efi.wks.in | 9 ++++++++ meta/lib/oeqa/selftest/wic.py | 36 +++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 meta-selftest/wic/test_generic_efi.wks.in diff --git a/meta-selftest/wic/test_generic_efi.wks.in b/meta-selftest/wic/test_generic_efi.wks.in new file mode 100644 index 0000000000..fecf3fd713 --- /dev/null +++ b/meta-selftest/wic/test_generic_efi.wks.in @@ -0,0 +1,9 @@ +# 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 /boot --source rootfs --rootfs-dir=${WORKDIR}/bootfs --fstype=vfat --label boot --active --align 1024 + +part / --source rootfs --fstype=ext4 --label root --align 1024 --uuid ${ROOTFS_PARTUUID} + +bootloader --ptable gpt diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py index cdec80c076..9cb9507830 100644 --- a/meta/lib/oeqa/selftest/wic.py +++ b/meta/lib/oeqa/selftest/wic.py @@ -789,3 +789,39 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r # 8 blocks is 4K (physical sector size) self.assertEqual(dest_stat.st_blocks, 8) os.unlink(dest) + + @only_for_arch(['i586', 'i686', 'x86_64']) + def test_generic_efi_grub_qemu(self): + """Test generic efi (grub-efi) image in qemu""" + config = 'IMAGE_FSTYPES = "wic"\nMACHINE_FEATURES_append = " efi"\n'\ + 'EFI_PROVIDER = "grub-efi"\n'\ + 'WKS_FILE = "test_generic_efi.wks.in"\n' + + self.append_config(config) + self.assertEqual(0, bitbake('core-image-minimal ovmf').status) + self.remove_config(config) + + with runqemu('core-image-minimal', ssh=False, + runqemuparams='ovmf', image_fstype='wic') as qemu: + cmd = "grep sda. /proc/partitions |wc -l" + status, output = qemu.run_serial(cmd) + self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) + self.assertEqual(output, '2') + + @only_for_arch(['i586', 'i686', 'x86_64']) + def test_generic_efi_systemd_qemu(self): + """Test generic efi (systemd-boot) image in qemu""" + config = 'IMAGE_FSTYPES = "wic"\nMACHINE_FEATURES_append = " efi"\n'\ + 'EFI_PROVIDER = "systemd-boot"\n'\ + 'WKS_FILE = "test_generic_efi.wks.in"\n' + + self.append_config(config) + self.assertEqual(0, bitbake('core-image-minimal ovmf').status) + self.remove_config(config) + + with runqemu('core-image-minimal', ssh=False, + runqemuparams='ovmf', image_fstype='wic') as qemu: + cmd = "grep sda. /proc/partitions |wc -l" + status, output = qemu.run_serial(cmd) + self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) + self.assertEqual(output, '2') -- 2.12.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core