Re: [poky] [PATCH] genericarm64: add qemuboot configuration
Jose Quaresma <[email protected]>
| Newsgroups | org.yoctoproject.lists.poky |
|---|---|
| Message-ID | <CANPvuRm8sFizLvd0zd9cRaedD2bJLMf4nPZaVJdcWAWEfB24YA@mail.gmail.com> |
Hi Ross, Ross Burton <[email protected]> escreveu (sexta, 22/03/2024 à(s) 16:50): > From: Ross Burton <[email protected]> > > 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. > Why not have a new genericarm64-qemu.conf machine which includes this machine and adds all the required qemu bits. In my opinion, this would be more friendly and clear. Jose > > Signed-off-by: Ross Burton <[email protected]> > --- > meta-yocto-bsp/conf/machine/genericarm64.conf | 27 +++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf > b/meta-yocto-bsp/conf/machine/genericarm64.conf > index 7c4c76ffe0c..4afd6c3a870 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 > > # 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 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" > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#13312): > https://lists.yoctoproject.org/g/poky/message/13312 > Mute This Topic: https://lists.yoctoproject.org/mt/105089249/5052612 > Group Owner: [email protected] > Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [ > [email protected]] > -=-=-=-=-=-=-=-=-=-=-=- > > -- Best regards, José Quaresma