Difference between revisions of "Vnx-rootfswinxp"
(Created page with "{{Title|How to create a Windows XP root-file-system for VNX}} == Create a basic Windows XP rootfs == <ul> <li>Create the filesystem disk image:</li> qemu-img create -f qcow2 ro...") |
|||
Line 4: | Line 4: | ||
<ul> | <ul> | ||
<li>Create the filesystem disk image:</li> | <li>Create the filesystem disk image:</li> | ||
− | qemu-img create -f qcow2 | + | qemu-img create -f qcow2 vnx_rootfs_winxp-base.qcow2 5GB |
− | <li>Create a libvirt XML definition ( | + | <li>Create a libvirt XML definition (rootfs_winxp.xml) containing the virtual machine description:</li> |
<pre> | <pre> | ||
<domain type='kvm'> | <domain type='kvm'> | ||
Line 25: | Line 25: | ||
<emulator>/usr/bin/kvm</emulator> | <emulator>/usr/bin/kvm</emulator> | ||
<disk type='file' device='disk'> | <disk type='file' device='disk'> | ||
− | <source file='/usr/share/vnx/filesystems/ | + | <source file='/usr/share/vnx/filesystems/vnx_rootfs_winxp-base.qcow2'/> |
<target dev='hda'/> | <target dev='hda'/> | ||
</disk> | </disk> | ||
Line 55: | Line 55: | ||
<li>Start the virtual machine with:</li> | <li>Start the virtual machine with:</li> | ||
− | virsh create | + | virsh create rootfs_winxp.xml |
<li>Open virtual machine console with:</li> | <li>Open virtual machine console with:</li> | ||
virt-viewer WinXP | virt-viewer WinXP | ||
Line 112: | Line 112: | ||
</global> | </global> | ||
<vm name="winxp" type="libvirt" subtype="kvm" os="windows"> | <vm name="winxp" type="libvirt" subtype="kvm" os="windows"> | ||
− | <filesystem type="direct">/usr/share/vnx/filesystems/ | + | <filesystem type="direct">/usr/share/vnx/filesystems/vnx_rootfs_winxp</filesystem> |
<mem>512M</mem> | <mem>512M</mem> | ||
</vm> | </vm> |
Revision as of 13:44, 27 July 2011
How to create a Windows XP root-file-system for VNX
Contents
Create a basic Windows XP rootfs
- Create the filesystem disk image:
qemu-img create -f qcow2 vnx_rootfs_winxp-base.qcow2 5GB
<domain type='kvm'> <name>WinXP</name> <memory>524288</memory> <vcpu>1</vcpu> <os> <type arch="i686">hvm</type> <boot dev='hd'/> <boot dev='cdrom'/> </os> <features> <pae/> <acpi/> <apic/> </features> <clock sync="localtime"/> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <source file='/usr/share/vnx/filesystems/vnx_rootfs_winxp-base.qcow2'/> <target dev='hda'/> </disk> <disk type='file' device='cdrom'> <source file='/almacen/iso/winxp.iso'/> <target dev='hdb'/> </disk> <interface type='network'> <source network='default'/> </interface> <interface type='network'> <source network='default'/> </interface> <interface type='network'> <source network='default'/> </interface> <interface type='network'> <source network='default'/> </interface> <serial type='pty'> <source path='/dev/pts/3'/> <target port='0'/> </serial> <graphics type='vnc' port='5005' /> </devices> </domain>
Note: change "source file=" lines to whatever fits your case (use full paths).
virsh create rootfs_winxp.xml
virt-viewer WinXP
Note: you also can access the console through vncviewer:
vncviewer localhost::5005
- Update it using "Windows update"
- Disable screensaver
- Disable Firewall
- Install autoconfiguration daemon by downloading and executing the following program:
http://www.dit.upm.es/vnx/download/vnx-autoconf-daemon-windows-v01.exe
- Expand the My Computer branch, then the AutoPlay branch, and then select Drives
- Turn off the checkbox next to all drive letters
netsh interface ip set address name="eth0" static 1.1.1.1 255.255.255.252 netsh interface ip set address name="eth1" static 1.1.1.5 255.255.255.252 netsh interface ip set address name="eth2" static 1.1.1.9 255.255.255.252 netsh interface ip set address name="eth3" static 1.1.1.13 255.255.255.252
Note: this script supposes that the name of network interfaces has been changed to something rational like eth0, eth1, etc, instead of the original names "Conexión de área local X" which are unusable from a bat script due to the accents...
Known problems
- Each time a vm starts, Windows finds new hardware and installs a driver for a standard RAM PCI controller. This fact slows down the boot process. To avoid it, just start the rootfilesystem once in direct mode to have windows detect the hardware and let the driver installed. For that purpose, you can use the following VNX scenario (xp.xml):
<?xml version="1.0" encoding="UTF-8"?> <vnx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/usr/share/xml/vnx/vnx-1.95.xsd"> <global> <version>1.92</version> <scenario_name>xp</scenario_name> <vm_mgmt type="none" /> </global> <vm name="winxp" type="libvirt" subtype="kvm" os="windows"> <filesystem type="direct">/usr/share/vnx/filesystems/vnx_rootfs_winxp</filesystem> <mem>512M</mem> </vm> </vnx>
Started with:
vnx -f xp.xml -v --create
and stopped with:
vnx -f xp.xml -v --shutdown
Note: never use not use "--destroy"option to stop a rootfilesystem use in direct mode: you will corrupt the filesystem.