Subject: Booting NetBSD under HVM
To: None <port-xen@NetBSD.org>
From: Andreas Gustafsson <gson@gson.org>
List: port-xen
Date: 08/29/2007 21:02:55
Hi,

Has anyone successfully booted NetBSD-current as a fully virtualized
(HVM) guest under Xen?

I'm trying to do that on Xen 3.0.3-0 using a Linux dom0, but the kernel
hangs during boot.  For example, I tried the following:

 - Build NetBSD-current/i386 using "build.sh release"

 - Copy release/i386/installation/cdrom/boot-com.iso to
   the Xen system as /root/images/boot-com.iso

 - Create the following Xen configuration file
   (/etc/xen/cdrom.cfg):

     kernel = "/usr/lib/xen-ioemu-3.0/boot/hvmloader"
     builder = 'hvm'
     memory = 256
     name = "cdrom"
     vcpus = 1
     vif = [ 'type=ioemu, bridge=xenbr0' ]
     disk = [ 'file:/root/images/boot-com.iso,hdc:cdrom,r' ]
     device_model = '/usr/lib/xen-ioemu-3.0/bin/qemu-dm'
     boot='d'
     serial = 'pty'
     nographic = 1

 - Boot the virtual machine:

   # xm create -c cdrom.cfg
   Using config file "/etc/xen/cdrom.cfg".
   Started domain cdrom

   >> NetBSD/i386 BIOS Boot, Revision 3.3
   >> (root@guru.araneus.fi, Mon Aug  6 21:18:55 EEST 2007)
   >> Memory: 639/261120 k
   Press return to boot now, any other key for boot menu
   booting cd0a:netbsd - starting in 0 
   4392876+5319300+192024 [303280+287826]=0xa0411c
   Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
       2006, 2007
       The NetBSD Foundation, Inc.  All rights reserved.
   Copyright (c) 1982, 1986, 1989, 1991, 1993
       The Regents of the University of California.  All rights reserved.

   NetBSD 4.99.26 (INSTALL_LARGE) #0: Mon Aug  6 23:24:54 EEST 2007
	   root@guru.araneus.fi:/usr/build/1086/obj/sys/arch/i386/compile/INSTALL_LARGE
   total memory = 255 MB
   rbus: rbus_min_start set to 0x40000000
   avail memory = 240 MB
   mainbus0 (root)
   ACPI Error (tbxfroot-0775): No valid RSDP was found [20060217]
   ACPI Exception (tbxfroot-0531): AE_NOT_FOUND, RSDP structure not found - Flags=8 [20060217]
   ACPI Exception (tbxface-0162): AE_NO_ACPI_TABLES, Could not get the RSDP [20060217]
   ACPI Exception (tbxface-0211): AE_NO_ACPI_TABLES, Could not load tables [20060217]
   ACPI: unable to load tables: AE_NO_ACPI_TABLES
   cpu0 at mainbus0: (uniprocessor)
   cpu0: Intel Core 2 (Merom) (686-class), 2400.24 MHz, id 0x6f7
   cpu0: "Intel(R) Core(TM)2 Quad CPU           @ 2.40GHz"
   pci0 at mainbus0 bus 0: configuration mode 1
   pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
   pchb0 at pci0 dev 0 function 0
   pchb0: vendor 0x8086 product 0x1237 (rev. 0x02)
   pcib0 at pci0 dev 1 function 0
   pcib0: vendor 0x8086 product 0x7000 (rev. 0x00)
   piixide0 at pci0 dev 1 function 1
   piixide0: Intel 82371SB IDE Interface (PIIX3) (rev. 0x00)
   piixide0: primary channel interrupting at irq 14
   atabus0 at piixide0 channel 0
   piixide0: secondary channel interrupting at irq 15
   atabus1 at piixide0 channel 1
   vga1 at pci0 dev 2 function 0: vendor 0x1013 product 0x00b8 (rev. 0x00)
   wsdisplay0 at vga1 kbdmux 1
   direct rendering for vga1 unsupported
   vendor 0x5853 product 0x0001 (undefined subclass 0x80, revision 0x01) at pci0 dev 3 function 
   0 not configured
   re0 at pci0 dev 4 function 0: RealTek 8139C+ 10/100BaseTX (rev. 0x20)
   re0: interrupting at irq 11
   re0: Ethernet address 00:16:3e:75:78:71
   rlphy0 at re0 phy 0: Realtek internal PHY
   rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
   isa0 at pcib0
   com0 at isa0 port 0x3f8-0x3ff irq 4: ns8250 or ns16450, no fifo
   com0: console
   pckbc0 at isa0 port 0x60-0x64
   pckbd0 at pckbc0 (kbd slot)
   pckbc0: using irq 1 for kbd slot
   wskbd0 at pckbd0 mux 1
   isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
   npx0 at isa0 port 0xf0-0xff
   fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
   isapnp0: no ISA Plug 'n Play devices found

At that point, there is no further output.  I also tried booting
without a serial console (replacing "nographic = 1" with "vnc = 1" and
booting from boot.iso instead of boot-com.iso), but it hangs in
the same place.

Any ideas?
-- 
Andreas Gustafsson, gson@gson.org