Сборка и установка По
http://people.freebsd.org/~maho/qemu/qemu.html :
# cd /usr/ports/emulator/qemu
# make -DWITH_KQEMU -DWITH_HACKS && make install clean
Установка Windows Создаем образ жесткого диска для Windows размером 4Гб:
# mkdir /usr/local/win
# qemu-img create /usr/local/win/win.img 4096M
Я поднял для удобства установки и первоначальной настройки Xserver CygWin:
1. Установил его с
http://x.cygwin.com/ 2. Из прилагаемого bash'a запустил Xserver с отключением access control:
$ X -ac
3. Включил в PuTTY X11 forwarding, залогинился на машину с FreeBSD
4. Там (xxx - мой ip):
# export DISPLAY=xxx.xxx.xxx.xxx:0
Ставим Windows с образа компакт-диска или прямо с диска (тогда -cdrom /dev/acd0):
# qemu -full-screen -localtime -m 512 -cdrom /tmp/win.iso -boot d /usr/local/win/win.img
-full-screen я использовал потому что иначе на cygwin/X не подхватывается мышка нормально
Можно устанавливать и сразу с поддержкой сети, но проще по очереди.
KQemu
KQemu - модуль ядра, обеспечивающий акселерацию qemu, без него вся затея имхо теряет смысл. Подгружаем его: # kldload kqemu Чтобы подгружался автоматически при старте системы, пишем в /boot/loader.conf: kqemu_load="YES"Сеть Как только Windows установлена, сразу хочется увидеть ее работоспособность в сети, для этого: ! Проверяем поддержку ng в ядре, затем: # cp /usr/share/examples/netgraph/ether.bridge /usr/local/bin/qemu-net.sh Редактируем qemu-net.sh, изменяем строки BRIDGE_IFACES и LOCAL_IFACES: BRIDGE_IFACES="em0 tap0" LOCAL_IFACES="em0" Где em0 - локальный интерфейс. # chmod +x /usr/local/bin/qemu-net.sh Создаем /etc/qemu-ifup (там по умолчанию qemu ищет скрипт для "-net tap"), туда пишем: #!/bin/sh ifconfig ${1} yyy.yyy.yyy.yyy netmask 255.255.255.128 /usr/local/bin/qemu-net.sh stop /usr/local/bin/qemu-net.sh start IP я брал из моей сети netmask тоже мой соответствующий. Потом, конечно: # chmod +x /etc/qemu-ifup Далее я настроил свой dhcp-сервер на выдачу ip zzz.zzz.zzz.zzz по дефолтному MAC для "-net nic" - 52:54:00:12:34:56. В принципе MAC можно задавать из строки запуска qemu, можно вообще статически сконфигурировать в Windows - это все дело вкуса.Использование
Запускаем qemu: # qemu -kernel-kqemu -full-screen -localtime -boot c /usr/local/win/win.img -net nic,model=rtl8139 -net tap -m 512 model=rtl8139, потому что с дефолтной почему-то только 10Мб/с получилось. В Windows я поотключал всякие windows firewall и прочее, дал доступ к Terminal Service и залогинился со своей машины.Уводим в бэкграунд У меня qemu с Windows запускается при загрузке из rc.local следующей строкой: /usr/local/bin/screen -dmS qemu /usr/local/bin/qemu -nographic -parallel null -serial null -monitor null -kernel-kqemu -localtime -net nic,model=rtl8139 -net tap -m 512 -boot c /usr/local/win/win.img &