Сгибнев Михаил
Вольный перевод и дополнение
этого письма
и
Руководства пользователя.
В первую очередь, для установки Windows XP, как и любой другой системы с закрытым кодом, необходима
поддержка центральным процессором технологии виртуализации
Intel╝Virtualization Technology (VT) или
Pacifica (AMD). Таблицу поддержки для процессоров Intel можно посмотреть
здесь.
Также необходимо обеспечить поддержу VT самим Xen. Для этого необходимо установить следущие пакеты:
-
dev86 Ассемблер и линкер для реального режима 80x86.
Этот пакет необходим для сборки кода BIOS, запускаемого в (виртуальном) реальном режиме.
Если пакет dev86 недоступен для x86_64, то можно использовать i386 версию.
-
LibVNCServer Немодифицируемый VGA дисплей, клавиатуру и мышь можно
виртуализировать с помощью библиотеки vncserver. Взять ее можно
здесь. Поскольку в версии 0.8 наблюдалось
падение производительности, то рекомендуется использовать версию из CVS-репозитория.
-
SDL-devel, SDL Если пакеты SDL и SDL-devel не были установлены по умолчанию,
то взять их можно из системы портов или скомпилировав из исходных текстов.
В терминологии Xen, немодифицируемые гостевые домены называются VMX.
Для облегчения процесса конфигурирования такого домена служит образцово-показательный
конфигурационный файл
/etc/xen/xmexample.vmx, в котором помимо традиционных
опций есть и сугубо специфические.
Где UNAME - имя устройства, DEV - имя диска, как его видит домен и
MODE принимает значения
r для read-only и
w для read-write.
Если это значение не определено, то ioemu используется как паравиртуальных доменах.
Если используется образ диска, то строка принимает вид:
file:FILEPATH,ioemu:DEV,MODE
Если используется больше одного диска, то они разделяются запятой. Например:
disk = ['file:/var/images/image1.img,ioemu:hda,w', 'file:/var/images/image2.img,ioemu:hdb,w']
cdrom Образ CD-ROM. По умолчанию, для Domain0 это значение равно /dev/cdrom.
Внутри VMX-домена CD-ROM будет виден как /dev/hdc.
boot Загрузка с floppy (a), hard disk (c) или CD-ROM (d).
device_model Инструмент эмуляции устройств для VMX-домена. Могут быть изменены
параметры, приведенные ниже.
sdl Задействует библиотеку SDL для отображения графики, по умолчанию равно "0" (отключено)
vnc Задействует библиотеку VNC для отображения графики, по умолчанию равно "0" (отключено)
vncviewer Если vnc=1 и vncviewer=0, пользователь может использовать vncviewer для
подключения к VMX-домену. Например:
vncviewer domain0_IP_address:VMX_domain_id
ne2000 Задействует режим совместимости ne2000, по умолчанию равно "0" (отключено, используется pcnet)
serial Перенаправление последовательных портов гостевого домена на реальное устройство.
usb Включение поддержки USB без указания специфического устройства.
По умолчанию эта функция отключена, в случае же определения параметра usbdevice, ее необходимо задействовать.
usbdevice Включение поддержки конкретных устройств. Например, поддержка мыши PS/2 через USB:
usbdevice='mouse'
localtime Установка локального времени. По умолчанию равно "0", т.е UTC
enable-audio Поддержка звука. Находится в разработке.
full-screen Поддержка полноэкранного режима. Находится в разработке.
nographic Другой способ перенаправить вывод на последовательный порт. В этом случае опции
'sdl' или 'vnc' не работают. Использование данного режима не рекомендуется.
Установка самого Xen достаточно хорошо описана в статьях:
Установка и настройка виртуальной машины Xen на NetBSD-3.0
NetBSD/xen Howto
Виртуализация с помощью Xen в Linux
После загрузки самого Dom0 убедимся в наличии поддержки VMX:
[root@vermont ~]# xm dmesg | grep VMX
(XEN) VMXON is done
(XEN) VMXON is done
...
(XEN) VMXON is done
(XEN) VMXON is done
(XEN) VMXON is done
[root@vermont ~]#
Если у вас другое сообщение, то проверьте настройки BIOS и, если вы этого еще не сделали, задействуйте
поддержку VT.
Создаем образ диска Xen:
# mkdir -p /root/xenimages
# cd /root/xenimages
# dd if=/dev/zero of=WS128.img bs=1M count=4096
Также необходимо создать iso-образ системы WinXP - ServicePack2. В данном случае,
разместим его в каталоге /root/xenimages.
На основе эталонного файла конфигурации создадим свой собственный:
[root@vermont xen]# cat /etc/xen/winXP128
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 512
name = "WinXP128"
vcpus=1
pae=0
acpi=0
apic=0
cpus = ""
vif = [ 'type=ioemu, bridge=xenbr0' ]
disk = [ 'file:/root/xenimages/winXP128.img,ioemu:hda,w' ]
on_poweroff = 'destroy'
on_reboot = 'destroy'
on_crash = 'destroy'
device_model = '/usr/lib/xen/bin/qemu-dm'
cdrom='/root/xenimages/en_winxp_pro_with_sp2.iso'
boot='d'
sdl=0
vnc=1
vncviewer=0
stdvga=0
serial='pty'
ne2000=0
[root@vermont xen]#
Обратите внимание на то, что указан параметр
boot='d', что необходимо для установки.
Впоследствии его необходимо заменить на "boot='c'". Доступ к гостевому домену будет осуществляться
через VNC, использование SDL не предполагается.
Начинаем установку и подсоединяемя к домену с помощью VNC - сразу после создания домена
подключаемся к нему с помощью vncviewer.
# xm create -c /etc/xen/winXP128
Using config file "/etc/xen/winXP128".
Started domain WinXP128
Подключение к VNC:
% vncviewer vermont:1
С установкой могут быть проблемы. Решение описано
в этом
письме и
заключается в том, что на экране установки, предлагающем нажать F6 для установки SCSI или RAID
контроллера надо нажать F5 и из предложенного меню:
ACPI Multiprocessor PC
ACPI Uniprocessor PC
Advanced Configuration and Power Interface (ACPI) PC
Compaq SystemPro Multiprocessor or 100% Compatible PC
MPS Uniprocessor PC
MPS Multiprocessor PC
Standard PC
Standard PC with C-Step i486
Other
выбрать "Standard PC".
После того, как программа установки Windows отформатирует диск и скопирует на него необходимые файлы
настанет неизбежный момент перезагрузки. Согласно нашему файлу конфигурации, виртуальная машина будет
закрыта и нам предоставится удачная возможность отредактировать параметр
boot='c', после чего
запускаем виртуальную машину и соединяемся с консолью:
[root@vermont xen]# xm create -c /etc/xen/winXP128
Using config file "/etc/xen/winXP128".
Started domain WinXP128
VNC:
% vncviewer vermont:2
Обратите внимание на параметр ':2', так как изменился XenID
(посмотреть его можно командой xm list).
Не особо волнуйтесь насчет проблем VNC при работе с мышью.
Как только вы завершите установку
можно настроить службу терминального доступа и использовать Windows Remote Desktop
или
rdesktop. Если вы по прежнему хотите использовать VNC,
то обратитесь к
этому разделу руководства.