diff options
-rw-r--r-- | meta-selftest/wic/test_generic_efi.wks.in | 9 | ||||
-rw-r--r-- | meta/lib/oeqa/selftest/cases/wic.py | 36 |
2 files changed, 45 insertions, 0 deletions
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 00000000000..fecf3fd713e --- /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/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index 02c7d0f66e1..dd72db52bdf 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -904,3 +904,39 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r self.assertEqual(0, result.status) self.assertNotIn('\nBZIMAGE ', result.output) self.assertNotIn('\nEFI <DIR> ', result.output) + + @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') |