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'' -
----------------------------------------------------------------------