Garbled text in QEMU
I noticed an issue recently with an Arch Linux installation inside a QEMU VM.
Text appeared after booting. I was able to see messages as the kernel loaded the initramfs:
Loading initial ramdisk ...
However, after that prompt, that garbled console text appeared. This implied that something was broken. It seemed liked once the kernel loaded the initramfs image this issue occurred with the distorted text.
I eventually realized the garbled text was my LUKS root disk encryption password prompt. I was able to input my password and boot normally, but it was annoying seeing the garbled prompt every boot.
I thought this might be an issue with fonts or the video driver.
Running videoinfo
at the GRUB shell showed the
Cirrus CLGD 5446 PCI VIdeo Driver
and
Bochs PCI Video Driver
under
supported video modes
.
The internet archive describes the Cirrus PCI Video card listed in GRUB like so:
Commonly used for computers from before the 2000s
The
Gentoo Wiki’s QEMU section on Graphics card
describes the -vga cirrus
option as:
Simple graphics card. Every guest OS has a built-in driver
Without knowing much about the history of the Cirrus and Bochs
systems I added the bochs
module to my
/etc/mkinitcpio.conf
config.
MODULES=(bochs)
I re-generated my initramfs with mkinitpcio -P
and
that seemed to get things working as expected.