diff options
| author | Ross Burton <ross.burton@arm.com> | 2024-03-22 16:50:09 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-03-23 10:19:00 +0000 |
| commit | 21c9a9f81467a79b6a06b5286e2c7c7bd8bffbab (patch) | |
| tree | 24f57fbc908801295d655ca74949341f899dbd0e | |
| parent | 978206fed48983dd650aeb2302e0b3730c7bb14d (diff) | |
| download | poky-21c9a9f81467a79b6a06b5286e2c7c7bd8bffbab.tar.gz | |
genericarm64: add qemuboot configuration
A basic SystemReady IR system can be provided by qemu-system-aarch64
and u-boot, so tell u-boot to build the qemu_arm64 machine and configure
qemuboot to start that u-boot and search the virtio-attached wic image
for the EFI boot partition.
Currently this machine support emulated (Cortex-A76) and virtualised (KVM)
execution, and virtio storage/network/console. Display support will be
added shortly.
Note that this machine still doesn't build U-Boot by default, as a u-boot
binary for qemu in deploy would potentially confuse users who want to
boot on real hardware and think this u-boot is needed. If you wish to
use genericarm64 with runqemu, you'll need to manually bitbake u-boot.
(From meta-yocto rev: cd40f405844c1ccfabcbe64ad6be5d98d0221f72)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta-yocto-bsp/conf/machine/genericarm64.conf | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf index 7c4c76ffe0..4afd6c3a87 100644 --- a/meta-yocto-bsp/conf/machine/genericarm64.conf +++ b/meta-yocto-bsp/conf/machine/genericarm64.conf | |||
| @@ -29,3 +29,30 @@ EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boo | |||
| 29 | 29 | ||
| 30 | # Try to bring up one physical serial console, or a virtualized serial console | 30 | # Try to bring up one physical serial console, or a virtualized serial console |
| 31 | SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" | 31 | SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" |
| 32 | |||
| 33 | # Allow u-boot to be built for use with qemu-system-aarch64. | ||
| 34 | # This u-boot is _not_ suitable for use with real hardware, and the expectation | ||
| 35 | # of this machine is that real hardware comes with the firmware pre-loaded. | ||
| 36 | UBOOT_MACHINE = "qemu_arm64_defconfig" | ||
| 37 | |||
| 38 | # runqemu configuration to run a genericarm64 image inside a qemu-system-aarch64. You will need | ||
| 39 | # to build u-boot explicitly. | ||
| 40 | IMAGE_CLASSES += "qemuboot" | ||
| 41 | QB_SYSTEM_NAME = "qemu-system-aarch64" | ||
| 42 | # Boot the virtual machine with either an emulated Cortex-A76, or the host if using KVM | ||
| 43 | QB_MACHINE = "-machine virt" | ||
| 44 | QB_CPU = "-cpu cortex-a76" | ||
| 45 | QB_CPU_KVM = "-cpu host -machine gic-version=3" | ||
| 46 | QB_SMP = "-smp 4" | ||
| 47 | # Boot into U-Boot and let that scan the disk for the next step, don't pass any kernel or filesystem hints | ||
| 48 | QB_DEFAULT_BIOS = "u-boot.bin" | ||
| 49 | QB_DEFAULT_KERNEL = "none" | ||
| 50 | QB_DEFAULT_FSTYPE = "wic" | ||
| 51 | QB_FSINFO = "wic:no-kernel-in-fs" | ||
| 52 | # Mount the wic rootfs as a virtio block device | ||
| 53 | QB_ROOTFS_OPT = "-drive id=root,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=root" | ||
| 54 | # Virtio serial consoles | ||
| 55 | QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon" | ||
| 56 | QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon" | ||
| 57 | # Virtio networking | ||
| 58 | QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" | ||
