Rick Stevens
2007-Feb-07  18:33 UTC
[Fedora-xen] Having issues with Windows 2003 as a guest
System configuration: Opteron 1210, 2GB RAM, Abit motherboard with
nVidia chipset, but running "vesa" video driver.
I''m trying to get Windows 2003 Server SP2 up and running on Xen as
a guest.  The installation gets stuck at the blue "Starting Windows"
screen.  I read somewhere that early in the boot process, at the "Press
F6 to install SCSI drivers", I should press F5 instead, then select
the HAL version for "Standard PC".  All well and good.
The problem is that when I use VNC as the console, the system ignores
keyboard input, and when I try to switch to SDL, I get no console at
all.  Needless to say, this is bloody frustrating.
Here''s my config file:
-------------------------------- CUT HERE ----------------------------
#  -*- mode: python; -*-
#===========================================================================#
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.
#===========================================================================
import os, re
arch = os.uname()[4]
if re.search(''64'', arch):
    arch_libdir = ''lib64''
else:
    arch_libdir = ''lib''
#----------------------------------------------------------------------------
# Kernel image file.
kernel = "/usr/lib/xen/boot/hvmloader"
# The domain build function. HVM domain uses ''hvm''.
builder=''hvm''
# Initial memory allocation (in megabytes) for the new domain.
#
# WARNING: Creating a domain with insufficient memory may cause out of
#          memory errors. The domain needs enough memory to boot kernel
#          and modules. Allocating less than 32MBs is not recommended.
memory = 512
# Shadow pagetable memory for the domain, in MB.
# Should be at least 2KB per MB of domain memory, plus a few MB per
vcpu.
shadow_memory = 8
# A name for your domain. All domains must have different names.
name = "win2k3"
# 128-bit UUID for the domain.  The default behavior is to generate a
new UUID
# on each call to ''xm create''.
#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
#-----------------------------------------------------------------------------
# the number of cpus guest platform has, default=1
#vcpus=1
# enable/disable HVM guest PAE, default=0 (disabled)
#pae=0
pae=1
# enable/disable HVM guest ACPI, default=0 (disabled)
#acpi=0
# enable/disable HVM guest APIC, default=0 (disabled)
#apic=0
# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = ""         # leave to Xen to pick
#cpus = "0"        # all vcpus run on CPU0
#cpus = "0-3,5,^1" # run on cpus 0,2,3,5
# Optionally define mac and/or bridge for the network interfaces.
# Random MACs are assigned if not given.
#vif = [ ''type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0,
model=ne2k_pci'' ]
# type=ioemu specify the NIC is an ioemu device not netfront
vif = [ ''type=ioemu, bridge=xenbr0'' ]
#----------------------------------------------------------------------------
# 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.
disk = [ ''file:/var/lib/xen/images/win2k3.img,hda,w'',
''phy:/dev/cdrom,hdc:cdrom,r'' ]
#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits.  There are three
''reasons''
# for a domain to stop: poweroff, reboot, and crash.  For each of these
you
# may specify:
#
#   "destroy",        meaning that the domain is cleaned up as normal;
#   "restart",        meaning that a new domain is started in place of
the old
#                     one;
#   "preserve",       meaning that no clean-up is done until the
domain
is
#                     manually destroyed (using xm destroy, for
example); or
#   "rename-restart", meaning that the old domain is not cleaned up,
but
is
#                     renamed and a new domain started in its place.
#
# The default is
#
#   on_poweroff = ''destroy''
#   on_reboot   = ''restart''
#   on_crash    = ''restart''
#
# For backwards compatibility we also support the deprecated option
# restart
#
# restart = ''onreboot'' means on_poweroff =
''destroy''
#                            on_reboot   = ''restart''
#                            on_crash    = ''destroy''
#
# restart = ''always''   means on_poweroff =
''restart''
#                            on_reboot   = ''restart''
#                            on_crash    = ''restart''
#
# restart = ''never''    means on_poweroff =
''destroy''
#                            on_reboot   = ''destroy''
#                            on_crash    = ''destroy''
#on_poweroff = ''destroy''
#on_reboot   = ''restart''
#on_crash    = ''restart''
#===========================================================================
# New stuff
device_model = ''/usr/'' + arch_libdir +
''/xen/bin/qemu-dm''
#-----------------------------------------------------------------------------
# boot on floppy (a), hard disk (c) or CD-ROM (d) 
# default: hard disk, cd-rom, floppy
#boot="cda"
boot="dc"
#-----------------------------------------------------------------------------
#  write to temporary files instead of disk image files
#snapshot=1
#----------------------------------------------------------------------------
# enable SDL library for graphics, default = 0
# Crikey, VNC''s not working, let''s try SDL.
#sdl=0
sdl=1
#----------------------------------------------------------------------------
# enable VNC library for graphics, default = 1
# For now, we''re trying SDL
#vnc=1
vnc=0
#----------------------------------------------------------------------------
# address that should be listened on for the VNC server if vnc is set.
# default is to use ''vnc-listen'' setting from
/etc/xen/xend-config.sxp
#vnclisten="127.0.0.1"
#----------------------------------------------------------------------------
# set VNC display number, default = domid
#vncdisplay=1
#----------------------------------------------------------------------------
# try to find an unused port for the VNC server, default = 1
vncunused=1
#----------------------------------------------------------------------------
# enable spawning vncviewer for domain''s console
# (only valid when vnc=1), default = 0
vncconsole=0
#----------------------------------------------------------------------------
# set password for domain''s VNC console
# default is depents on vncpasswd in xend-config.sxp
vncpasswd=''''
#----------------------------------------------------------------------------
# no graphics, use serial port
#nographic=0
#----------------------------------------------------------------------------
# enable stdvga, default = 0 (use cirrus logic device model)
stdvga=0
#-----------------------------------------------------------------------------
#   serial port re-direct to pty deivce, /dev/pts/n 
#   then xm console or minicom can connect
#serial=''pty''
#-----------------------------------------------------------------------------
#   enable sound card support, [sb16|es1370|all|..,..], default none
#soundhw=''sb16''
#-----------------------------------------------------------------------------
#    set the real time clock to local time [default=0 i.e. set to utc]
#localtime=1
#-----------------------------------------------------------------------------
#    start in full screen
#full-screen=1   
#-----------------------------------------------------------------------------
#   Enable USB support (specific devices specified at runtime through
the
#                       monitor window)
#usb=1
#   Enable USB mouse support (only enable one of the following, `mouse''
for
#                             PS/2 protocol relative mouse, `tablet''
for
#                             absolute mouse)
#usbdevice=''mouse''
#usbdevice=''tablet''
-------------------------------- CUT HERE ----------------------------
Any help will be GREATLY appreciated and you''ll win major good karma
points!
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens@vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
-  BASIC is the Computer Science version of `Scientific Creationism'' -
----------------------------------------------------------------------