Добрый день уважаемые Коллегы!
В данной статье я расскажу про настройку виртуальной машины под консольным FreeBSD.
Для простоты я не буду углубляться в подробности настроек.
Имеем: Сервер. FreeBSD 8.0-RELEASE. Порты обновлены. X не установлены.
Задача: Настроить дополнительно виртуальную машину на данном сервере.
Поехали:
Qemu ставим из портов.
cd /usr/ports/emulator/qemu
make -DWITH_KQEMU
make install clean
Включаем модуль акселерации и модуль асинхронного ввода-вывода:
kldload if_tap
kldload kqemu
kldload aio
Для автоматического подключения при загрузке добавляем в /boot/loader.conf
if_tap_load="YES"
kqemu_load="YES"
aio_load="YES"
На этом закончили с модулями ядра.
Поднимаем виртуальный сетевой интерфейс и мост для дальнейшего использования его на нашей виртуальной машине:
ifconfig tap0 create
ifconfig bridge0 create
ifconfig bridge0 addm em0 addm tap0 up
Чтобы мост создавался при загрузке, нужно добавить две строки в конфигурационный файл /etc/rc.conf:
cloned_interfaces="tap0 bridge0"
ifconfig_bridge0="addm em0 addm tap0 up"
Включаем автоматическое поднятие интерфейса tap0
sysctl net.link.tap.up_on_open=1
Разрешаем непривилегированному пользователю соединяться с интерфейсом tap0
sysctl net.link.tap.user_open=1
Чтобы эти переменные инициализировалась при загрузке, нужно добавить строки в конфигурационный файл /etc/sysctl.conf:
net.link.tap.up_on_open=1
net.link.tap.user_open=1
Разрешаем непривилегированному пользователю открывать устройство /dev/tap0
chmod 666 /dev/tap0
Файлы устройств пересоздаются каждый раз при загрузке системы, поэтому права доступа на файл после перезагрузки вернутся в исходное состояние (600). Поэтому следует задавать права доступа к устройству не через chmod, а через правила devfs. Для этого нужно добавить строку в конфигурационный файл /etc/devfs.conf:
perm tap0 0666
Создаем диск:
qemu-img create /data/windows.img 14096M
Стартуем
qemu -localtime -m 512 -boot d -cdrom /home/distrib/xp.iso -hda /data/windows.img -name "Windows" -vnc 192.168.0.2:1
Где 192.168.0.2 ip сервера.
Подключаемся удаленно к 192.168.0.2 через vnc и ставим ОС
Ну и, наконец, запускаем Windows.
qemu -localtime -m 512 -boot c -hda /data/windows.img -name "Windows" -net nic,macaddr=52:54:00:12:34:56 -net tap,ifname=tap0 -vnc 192.168.0.2:1&