Skip to content

qemu-system-i386 no longer boots NetBSD

Host environment

  • Operating system: Debian GNU/Linux 11
  • OS/kernel version: Linux gumbo 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64 GNU/Linux
  • Architecture: x86_64
  • QEMU flavor: qemu-system-i386
  • QEMU version: QEMU emulator version 7.1.50 (v7.1.0-1123-g05292454)
  • QEMU command line:
    qemu-system-i386 -nographic -cdrom boot-com.iso

Emulated/Virtualized environment

  • NetBSD
  • OS/kernel version: 9.2
  • Architecture: i386

Description of problem

Since qemu commit e3a79e0e, NetBSD no longer boots under qemu-system-i386.

Steps to reproduce

  1. wget http://ftp.netbsd.org/pub/NetBSD/NetBSD-9.2/i386/installation/cdrom/boot-com.iso
  2. qemu-system-i386 -nographic -cdrom boot-com.iso

Expected behavior: the system boots and prompts you for a terminal type with

Terminal type (just hit ENTER for 'vt220'):

Observed incorrect behavior: the guest kernel either hangs during boot at

Loading /stand/i386/9.2/modules/cd9660/cd9660.kmod  
WARNING: 1 module failed to load

or panics during boot with

kernel: supervisor trap page fault, code=0
Stopped in pid 0.1 (system) at  netbsd:idt_vec_reserve+0xa:     cmpb    $0,netbs
d:idt_allocmap(%ebx)
db{0}> 

Additional information

This regression is a critical issue to the NetBSD project as its automated testing infrastructure is heavily dependent on qemu-system-i386.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information