mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 12:58:44 +01:00
testimage on core-image-sato fails in parselogs and xorg tests. We can add the virtio gpu to address these issues (like what is being done in qemuarm, qemuarm64, and qemuarmv5). (From meta-yocto rev: ddf075e2abfba6479efc2bc5fe1c41ba6079e355) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
61 lines
2.6 KiB
Plaintext
61 lines
2.6 KiB
Plaintext
#@TYPE: Machine
|
|
#@NAME: genericarm64
|
|
#@DESCRIPTION: Generic Arm64 machine for typical SystemReady IR/ES platforms, which
|
|
#have working firmware and boot via EFI.
|
|
|
|
require conf/machine/include/arm/arch-armv8a.inc
|
|
|
|
# Arm Base System Architecture says v8.0+ is allowed, but FEAT_CRC32 is required
|
|
DEFAULTTUNE = "armv8a-crc"
|
|
|
|
MACHINE_FEATURES = "acpi alsa bluetooth efi keyboard pci qemu-usermode rtc screen usbhost vfat wifi"
|
|
|
|
KERNEL_IMAGETYPE = "Image"
|
|
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
|
|
|
# Install all the kernel modules into the rootfs
|
|
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
|
|
# Install selected pieces of firmware
|
|
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-wl12xx linux-firmware-wl18xx linux-firmware-rtl-nic"
|
|
|
|
# Use an initramfs and populate it with the kernel modules and key firmware
|
|
INITRAMFS_IMAGE ?= "core-image-initramfs-boot"
|
|
PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " ${MACHINE_EXTRA_RRECOMMENDS}"
|
|
|
|
IMAGE_FSTYPES ?= "wic"
|
|
WKS_FILE ?= "genericarm64.wks.in"
|
|
|
|
EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}"
|
|
|
|
# Try to bring up one physical serial console, or a virtualized serial console
|
|
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
|
|
|
|
# Allow u-boot to be built for use with qemu-system-aarch64.
|
|
# This u-boot is _not_ suitable for use with real hardware, and the expectation
|
|
# of this machine is that real hardware comes with the firmware pre-loaded.
|
|
UBOOT_MACHINE = "qemu_arm64_defconfig"
|
|
|
|
# runqemu configuration to run a genericarm64 image inside a qemu-system-aarch64. You will need
|
|
# to build u-boot explicitly.
|
|
IMAGE_CLASSES += "qemuboot"
|
|
QB_SYSTEM_NAME = "qemu-system-aarch64"
|
|
# Boot the virtual machine with either an emulated Cortex-A76, or the host if using KVM
|
|
QB_MACHINE = "-machine virt"
|
|
QB_CPU = "-cpu cortex-a76"
|
|
QB_CPU_KVM = "-cpu host -machine gic-version=3"
|
|
QB_SMP = "-smp 4"
|
|
# Boot into U-Boot and let that scan the disk for the next step, don't pass any kernel or filesystem hints
|
|
QB_DEFAULT_BIOS = "u-boot.bin"
|
|
QB_DEFAULT_KERNEL = "none"
|
|
QB_DEFAULT_FSTYPE = "wic"
|
|
QB_FSINFO = "wic:no-kernel-in-fs"
|
|
# Mount the wic rootfs as a virtio block device
|
|
QB_ROOTFS_OPT = "-drive id=root,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=root"
|
|
# Virtio graphics
|
|
QB_GRAPHICS = "-device virtio-gpu-pci"
|
|
# Virtio serial consoles
|
|
QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
|
|
QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
|
|
# Virtio networking
|
|
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
|