support/testing/tests/fs/test_iso9660.py: add support to test using EFI BIOS
The ISO9660 tests are only testing BIOS Legacy. Add support to test an ISO9660 image based on EFI BIOS. Add support to test an ISO9660 hybrid image based on Legacy and EFI BIOS. Add dedicated Grub2 builtin config for the EFI compatible cases. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
e827bfd0dd
commit
c656373aeb
2
support/testing/conf/grub2-efi.cfg
Normal file
2
support/testing/conf/grub2-efi.cfg
Normal file
@ -0,0 +1,2 @@
|
||||
set root=(cd0)
|
||||
set prefix=/boot/grub
|
@ -25,9 +25,13 @@ BASIC_CONFIG = \
|
||||
""".format(infra.filepath("conf/minimal-x86-qemu-kernel.config"))
|
||||
|
||||
|
||||
def test_mount_internal_external(emulator, builddir, internal=True):
|
||||
def test_mount_internal_external(emulator, builddir, internal=True, efi=False):
|
||||
img = os.path.join(builddir, "images", "rootfs.iso9660")
|
||||
emulator.boot(arch="i386", options=["-cdrom", img])
|
||||
if efi:
|
||||
efi_img = os.path.join(builddir, "images", "OVMF.fd")
|
||||
emulator.boot(arch="i386", options=["-cdrom", img, "-bios", efi_img])
|
||||
else:
|
||||
emulator.boot(arch="i386", options=["-cdrom", img])
|
||||
emulator.login()
|
||||
|
||||
if internal:
|
||||
@ -107,6 +111,69 @@ class TestIso9660Grub2Internal(infra.basetest.BRTest):
|
||||
exit_code = test_touch_file(self.emulator)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
|
||||
class TestIso9660Grub2EFI(infra.basetest.BRTest):
|
||||
config = BASIC_CONFIG + \
|
||||
"""
|
||||
BR2_TARGET_ROOTFS_ISO9660=y
|
||||
BR2_TARGET_ROOTFS_ISO9660_INITRD=y
|
||||
BR2_TARGET_GRUB2=y
|
||||
BR2_TARGET_GRUB2_I386_EFI=y
|
||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat part_msdos part_gpt normal iso9660"
|
||||
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="{}"
|
||||
BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}"
|
||||
BR2_TARGET_EDK2=y
|
||||
""".format(infra.filepath("conf/grub2-efi.cfg"),
|
||||
infra.filepath("conf/grub2.cfg"))
|
||||
|
||||
def test_run(self):
|
||||
exit_code = test_mount_internal_external(self.emulator,
|
||||
self.builddir, internal=True,
|
||||
efi=True)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
exit_code = test_touch_file(self.emulator)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
|
||||
class TestIso9660Grub2Hybrid(infra.basetest.BRTest):
|
||||
config = BASIC_CONFIG + \
|
||||
"""
|
||||
BR2_TARGET_ROOTFS_ISO9660=y
|
||||
BR2_TARGET_ROOTFS_ISO9660_INITRD=y
|
||||
BR2_TARGET_GRUB2=y
|
||||
BR2_TARGET_GRUB2_I386_PC=y
|
||||
BR2_TARGET_GRUB2_I386_EFI=y
|
||||
BR2_TARGET_GRUB2_BOOT_PARTITION="cd"
|
||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal iso9660 biosdisk"
|
||||
BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC=""
|
||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal iso9660 efi_gop"
|
||||
BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="{}"
|
||||
BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="{}"
|
||||
BR2_TARGET_EDK2=y
|
||||
""".format(infra.filepath("conf/grub2-efi.cfg"),
|
||||
infra.filepath("conf/grub2.cfg"))
|
||||
|
||||
def test_run(self):
|
||||
exit_code = test_mount_internal_external(self.emulator,
|
||||
self.builddir, internal=True,
|
||||
efi=False)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
exit_code = test_touch_file(self.emulator)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
self.emulator.stop()
|
||||
|
||||
exit_code = test_mount_internal_external(self.emulator,
|
||||
self.builddir, internal=True,
|
||||
efi=True)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
exit_code = test_touch_file(self.emulator)
|
||||
self.assertEqual(exit_code, 0)
|
||||
|
||||
|
||||
#
|
||||
# Syslinux
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user