Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Installing FreeBSD 8 as domU



I have an old FreeBSD 8.0-BETA2 installation I built under HVM.  It
is difficult (in the extreme) to upgrade to FreeBSD 8.2 since their
"mergemaster" tool has trouble with the source versions of various
config files that were shipped in the beta versions.

So I am trying to do a fresh domU install of FreeBSD 8.2.  I
believe it should be possible to do an installation into a HVM
using the normal FreeBSD install tools, then switch to the FreeBSD HVMPV
kernel and get improved disk and network performance.

However, this presently isn't working.  The boot unpredictably hangs
either partway through autoconf, or immediately after printing out
that it's starting sysinstall as init.  If I turn on "verbose boot
logging (option 5 from the FreeBSD boot menu)" the timing of the hang
gets more unpredictable, but always seems to come at some point during
autoconf.

Booting FreeBSD with ACPI disabled (not necessary for my old 8.0 image)
reliably gets me to "/stand/sysinstall running as init on vty0" at
which point things seem to lock up hard.

Help!  What's the right way to get this to go?

The dom0 is currently NetBSD-5-stable just prior to the 5.1 release
point.  Xen kernel is 3.3, xentools is xentools33 of the same vintage
as the NetBSD kernel.  I'm certainly glad to change this around if
anyone thinks it'll help.

The FreeBSD image is i386 as I need to use it to run old FreeBSD 4
binaries in a chroot, and that doesn't work well with a 64 bit FreeBSD
kernel these days.

Xen virtual's config file follows.

Thor
#============================================================================
# Python configuration setup for 'xm create'.
# This script sets the parameters used when a domain is created using 'xm 
create'.
# You use a separate script for each domain you want to create, or 
# you can set the parameters for the domain on the xm command line.
#============================================================================

#----------------------------------------------------------------------------
# Kernel image file.
kernel = "/usr/pkg/lib/xen/boot/hvmloader"

builder='hvm'

# Initial memory allocation (in megabytes) for the new domain.
memory = 1024

# A name for your domain. All domains must have different names.
name = "accum"
vcpus = 2

#Network interface. By default emules a realtek 8139. For a NetBSD guest you
# have to disable re(4) and let rtk attach to use it.
# ne2k_pci emulates a pci ne2000 clone; this his cpu-hungry in dom0
# pcnet emulates a AMD PCnet-PCI controller; but it corrupts packets with
# pcn(4) under NetBSD.
#vif = [ 'mac=00:16:3e:00:00:13, bridge=bridge0, type=ioemu, model=ne2k_pci' ]
vif = [ 'mac=00:16:3e:00:1f:12, bridge=bridge0, type=ioemu, model=pcnet' ]
#vif = [ 'mac=00:16:3e:00:00:13, bridge=bridge0, type=ioemu' ]
#vif =  [ 'mac=00:16:3e:00:ff:22, bridge=bridge0, type=ioemu, model=e1000' ]

#----------------------------------------------------------------------------
# device model to use: only qemu-dm available for now
device_model = '/usr/pkg/libexec/qemu-dm'

# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.
# For hvm domains you can only use hda to hdd. You can set extra types
# (e.g. cdrom)

disk = [ 'file:/xenvm/accum,ioemu:hda,w', 
'file:/xenvm/FreeBSD-8.2-RELEASE-i386-dvd1.iso,ioemu:hdc:cdrom,w' ]

# floppy images; this doesn't seem to work currently. Use a iso image instead.
#fda = '/home/domains/boot1.fs'

# boot device: a = floppy, c= hard drive, d= cdrom (with the disk entry
# before)
#boot='c'
boot='d'

# By default, 'xm create' will try to open an X window on the current display
# for the virtal framebuffer. You can have the virtal framebuffer in vnc
# instead, and connect using a vnc client (using localhost:$vncdisplay)
# If vncunused is set to 1 (this is the default value), vncdisplay
# will be set to the first unused port; so it's recommended to
vnc = 1
vncdisplay = 0
vncunused = 0
vncconsole = 1
vfb = [ 'type=vnc,vnclisten=0.0.0.0' ] #,vncpasswd=XXXXX' ]
stdvga = 1

#vfb = [ 'type=sdl,xauthority=/home/tls/.Xauthority,display=:10' ]

#serial = 'pty'
#nographic = 1
#Xen emulates a PS/2 mouse, but the pointer in the guest has difficulties
# tracking the absolute position. Xen can emulate a USB tablet in addition
# to the mouse which will report the absolute position of the pointer,
# and make the mouse much easier to use. 
# 
#usb=1
#usbdevice='tablet'
#usbdevice='mouse'

#============================================================================


Home | Main Index | Thread Index | Old Index