[PATCH v2 0/4] arm: qemu: Enable Bochs, console buffering, USB keyboard

Alper Nebi Yasak alpernebiyasak at gmail.com
Mon Aug 14 19:39:40 CEST 2023


Now that the driver for the Bochs VGA card emulated by QEMU is no longer
limited to x86 architectures [1], this series enables it on arm and
arm64 virtual machines to provide a graphical interface. In line with
that series this also enables console buffering and USB keyboard.

Tested with the Debian 12 installer using GRUB EFI:

  $ tools/buildman/buildman -o build/qemu_arm64 --boards=qemu_arm64 -w
  $ cd build/qemu_arm64
  $ curl -L -o debian.img \
      https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.0.0-arm64-netinst.iso
  $ qemu-system-aarch64 \
      -machine virt -cpu cortex-a53 -m 4G -smp 4 \
      -bios u-boot.bin \
      -serial stdio -device VGA \
      -nic user,model=virtio-net-pci \
      -device virtio-rng-pci \
      -device qemu-xhci,id=xhci -device usb-kbd -device usb-tablet \
      -drive if=virtio,file=debian.img,format=raw,readonly=on,media=cdrom

And with one using extlinux.conf:

    $ [...]
    $ curl -L -o head.img.gz \
        https://deb.debian.org/debian/dists/bookworm/main/installer-arm64/current/images/netboot/SD-card-images/gtk/firmware.none.img.gz
    $ curl -L -o partition.img.gz \
        https://deb.debian.org/debian/dists/bookworm/main/installer-arm64/current/images/netboot/SD-card-images/gtk/partition.img.gz
    $ zcat head.img.gz partition.img.gz >debian.img
    $ [...]

Both can get to a graphical installer just fine, in addition to U-Boot
video console showing up in a GTK window.

[1] video: bochs: Remove the x86 limitation
https://lore.kernel.org/u-boot/20230723044041.1089804-1-bmeng@tinylab.org/

Changes in v2:
- Add new patch for doc section on booting Linux distros
- Improve and simplify the qemu command line used for testing

v1: https://lore.kernel.org/u-boot/20230808191901.1268429-1-alpernebiyasak@gmail.com/

Alper Nebi Yasak (4):
  arm: qemu: Enable Bochs video support
  arm: qemu: Enable PRE_CONSOLE_BUFFER
  arm: qemu: Enable usb keyboard as an input device
  doc: qemu: arm: Add a section on booting Linux distros

 arch/arm/Kconfig                      | 10 ++++
 board/emulation/qemu-arm/Kconfig      |  4 ++
 board/emulation/qemu-arm/qemu-arm.c   |  5 ++
 board/emulation/qemu-arm/qemu-arm.env |  3 ++
 configs/qemu_arm64_defconfig          |  2 -
 configs/qemu_arm_defconfig            |  2 -
 doc/board/emulation/qemu-arm.rst      | 76 +++++++++++++++++++++++++++
 7 files changed, 98 insertions(+), 4 deletions(-)


base-commit: 832148f675e427060be074c276956962fa9b5cb6
-- 
2.40.1



More information about the U-Boot mailing list