mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> [Julien: switch to human readable genimage.cfg partition uuid] Signed-off-by: Julien Olivain <ju.o@free.fr>
66 lines
2.4 KiB
Python
66 lines
2.4 KiB
Python
import os
|
|
import infra.basetest
|
|
|
|
|
|
class TestXen(infra.basetest.BRTest):
|
|
# We have a custom kernel config to reduce build time.
|
|
# Our genimage.cfg is inspired from qemu_aarch64_ebbr_defconfig as we boot
|
|
# Xen with UEFI.
|
|
config = \
|
|
"""
|
|
BR2_aarch64=y
|
|
BR2_TOOLCHAIN_EXTERNAL=y
|
|
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/testing/tests/package/test_xen/post-image.sh support/scripts/genimage.sh"
|
|
BR2_ROOTFS_POST_SCRIPT_ARGS="-c support/testing/tests/package/test_xen/genimage.cfg"
|
|
BR2_LINUX_KERNEL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.9"
|
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="support/testing/tests/package/test_xen/linux.config"
|
|
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
|
BR2_PACKAGE_XEN=y
|
|
BR2_PACKAGE_XEN_HYPERVISOR=y
|
|
BR2_PACKAGE_XEN_TOOLS=y
|
|
BR2_TARGET_ROOTFS_EXT2=y
|
|
BR2_TARGET_ROOTFS_EXT2_4=y
|
|
BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
|
|
# BR2_TARGET_ROOTFS_TAR is not set
|
|
BR2_TARGET_UBOOT=y
|
|
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
|
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
|
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01"
|
|
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm64"
|
|
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
|
|
BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
|
|
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
|
BR2_PACKAGE_HOST_GENIMAGE=y
|
|
BR2_PACKAGE_HOST_MTOOLS=y
|
|
"""
|
|
|
|
def test_run(self):
|
|
uboot_bin = os.path.join(self.builddir, "images", "u-boot.bin")
|
|
disk_img = os.path.join(self.builddir, "images", "disk.img")
|
|
|
|
qemu_opts = [
|
|
"-bios", uboot_bin,
|
|
"-cpu", "cortex-a53",
|
|
"-device", "virtio-blk-device,drive=hd0",
|
|
"-drive", f"file={disk_img},if=none,format=raw,id=hd0",
|
|
"-m", "2G",
|
|
"-machine", "virt,gic-version=3,virtualization=on,acpi=off",
|
|
"-smp", "2"
|
|
]
|
|
|
|
# Boot the emulator:
|
|
# Qemu Devicetree -> U-Boot -> Xen UEFI -> Linux
|
|
self.emulator.boot(arch="aarch64",
|
|
options=qemu_opts)
|
|
self.emulator.login()
|
|
|
|
# Avoid double-cooking the terminal, otherwise the test infrastructure
|
|
# would not be able to retrieve e.g. return codes properly.
|
|
self.assertRunOk("stty raw")
|
|
|
|
# Verify that we are indeed running under Xen.
|
|
self.assertRunOk("xl info")
|