Устанавливаться будет:
# pkg_info | grep virtualbox
virtualbox-ose-4.1.22 A general-purpose full virtualizer for x86 hardware
virtualbox-ose-kmod-4.1.22 VirtualBox kernel module for FreeBSD
На систему:
# uname -v
FreeBSD 9.0-RELEASE-p3
Обновляем порты:
# cd /usr/ports/
# portsnap fetch update
Приступаем к установке библиотек VNC-сервера:
# cd /usr/ports/net/libvncserver && make BATCH=yes install clean
Теперь – модули ядра VirtualBox:
# cd /usr/ports/emulators/virtualbox-ose-kmod && make BATCH=yes install clean
Т.к. машинка серверная, то управление виртуальными машинами будет только через консоль, следовательно – везде дальше снимаем галочки с Х11:
# cd /usr/ports/emulators/virtualbox-ose && make config-recursive
Если при запуске установки выдается сообщение такого плана:
===> virtualbox-ose-4.1.22 is marked as broken: QT4 frontend requires X11 support. Run ‘make config’ again!.
*** Error code 1
То выполните:
# make rmconfig
или даже:
# make rmconfig-recursive
И запустите конфигурирование заново, выбрав в первом окне БЕЗ опций NLS и QT4.
Теперь, можно запускать установку:
# make install clean
По окончанию установки – загружаем в память модуль:
# kldload vboxdrv
Что бы он загружался вместе с системой – добавляем в файл /boot/loader.conf такую строку:
vboxdrv_load=”YES”
В файл /etc/rc.conf добавляем:
vboxnet_enable=”YES”
Запускаем:
# service vboxnet onestart
Теперь – перезначим каталоги для хранения файлов самих виртуальных машин:
# mkdir /home/setevoy/VMs
# chmod -R 777 /home/setevoy/VMs/
# VBoxManage setproperty machinefolder /home/setevoy/VMs/
Создаем диск ля виртуальной машины:
# VBoxManage createhd –filename disk1 –size 61440
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Disk image created. UUID: b21ebe9a-a258-46da-8d48-8e9e70e05964
Допустимые опции:
disk1 -имя будущего виртуального винчестера
61440Mb -размер будущего виртуального винчестера в Mb (1024*60=61440Mb)
По умолчанию формат виртуального hdd – *.VDI.
Учтите, что если не указать путь – то файл диска будет создан в текущем каталоге.
Создаем саму виртуальную машину:
# VBoxManage createvm -name bsd1 -register
Virtual machine ‘bsd1’ is created and registered.
UUID: 01a92662-86e9-4679-bc1a-1e94999747a0
Settings file: ‘/home/setevoy/VMs/bsd1/bsd1.vbox’
Проверить, какие машины созданы в системе можно командой:
# VBoxManage list vms
“bsd1” {01a92662-86e9-4679-bc1a-1e94999747a0}
Созаем виртуальный IDE-контроллер и подключаем его к нашей машине:
# VBoxManage storagectl bsd1 –name “IDE Controller” –add ide
Теперь, подключаем к этому контроллеру наш ранее созданный винчестер:
# VBoxManage storageattach bsd1 –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium /home/setevoy/VMs/disk/disk1.vdi
Далее – изменим настройки нашей машины.
Нам потребуется UUID созданного ранее жесткого диска. Проверить его можно командной:
# VBoxManage showhdinfo disk/disk1.vdi
UUID: b21ebe9a-a258-46da-8d48-8e9e70e05964
Accessible: yes
Logical size: 61440 MBytes
Current size on disk: 0 MBytes
Type: normal (base)
Storage format: VDI
Format variant: dynamic default
In use by VMs: bsd1 (UUID: 01a92662-86e9-4679-bc1a-1e94999747a0)
Location: /home/setevoy/VMs/disk/disk1.vdi
И выполняем:
# VBoxManage modifyvm bsd1 –ostype FreeBSD –memory 1024 –hardwareuuid b21ebe9a-a258-46da-8d48-8e9e70e05964 –audio none –cableconnected1 on –usb off –nic1 bridged –bridgeadapter1 re0 –acpi on
Тут:
modifyvm bsd1 – модифицируем машину bsd1;
FreeBSD – тип устанавливаемой на виртуальную машину операционной системы (посмотреть возможные варианты можно командой VBoxManage list ostypes );
1024 – размер ОЗУ, выделяемой для виртуальной машины;
b21ebe9a-a258-46da-8d48-8e9e70e05964 – на какой виртуальный HDD устанавливать гостевую ОС;
audio none – выключаем аудио;
usb off – выключаем usb ;
cableconnected1 on – сетевой кабель подключен;
nic1 bridged – тип сетевого включения на хост-машине (NAT, bridged, Internal etc );
bridgeadapter1 re0 – имя сетевой карты на хост-машине, которая будет мостом.
Проверить конфигурацию машины можно командной:
# VBoxManage showvminfo bsd1 | less
Теперь, подключаем *.iso образ, с которого будем загружаться:
# VBoxManage storageattach bsd1 –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /home/setevoy/Soft/OS/frenzy-1.3-ju-mini-ru-release.iso
Переключаем настройки машины, что бы она загружалась с привода:
# VBoxManage modifyvm bsd1 –boot1 dvd
Запускаем саму виртуальную машину:
# VBoxHeadless –startvm bsd1 -n -m 3389
Oracle VM VirtualBox Headless Interface 4.1.22_OSE
(C) 2008-2012 Oracle Corporation
All rights reserved.
11/11/2012 12:41:47 Listening for VNC connections on TCP port 3389
11/11/2012 12:41:47 Listening for VNC connections on TCP6 port 3389
Set framebuffer: buffer=2a56c000 w=800 h=600 bpp=32
n –vnc – включить VNC server;
m –vncport – номер порта VNC4
3389 – порт VNC.
Если нажать Ctrl+c виртуальная машина выключится.
Чтобы запустилось в бэкграунде, то запускаем так:
# nohup VBoxHeadless –startvm bsd1 -n -m 3389 &
[1] 56531
# appending output to nohup.out
^C
Кнопками Ctrl+C можно вернуться в консоль, машина при этом останется работать. Проверить список запущенных машин можно так:
# VBoxManage list runningvms
“bsd1” {01a92662-86e9-4679-bc1a-1e94999747a0}
Теперь можно подключаться к консоли виртуальной машины. Для Windows – это утилита UltraVNC.
Запускаем UltraVNC Viewer. Указываем IP хост-машины, на котором работает сам VirtualBox и порт, указанный при запуске машины:
И получаем консоль нашей виртуальной машины:
Для выключения виртуальной машины bsd1 выполняем:
# VBoxManage controlvm bsd1 poweroff
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Сохранить текущее состояние виртуальной машины, а затем выключить её:
# VBoxManage controlvm bsd1 savestate
После того как выключили, ставим первым загрузочным устройством виртуальный HDD:
# VBoxManage modifyvm bsd1 –boot1 disk
Если надо отключить установочный *.iso образ, выполняем:
# VBoxManage storageattach bsd1 –storagectl “IDE Controller” –port 1 –device 0 –medium none
[1]+ Done nohup VBoxHeadless –startvm bsd1 -n -m 3389
Для удаления виртуальной машины:
1) Cначала отключаем HDD от виртуальной машины:
# VBoxManage storageattach bsd1 –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium none
Здесь:
–port 0 –device 0 -параметры которые мы задавали выше при подключении к IDE0 нашего виртуального винчестера disk1.vdi.
2) Теперь удаляем HDD из менеджера виртуальных носителей:
# VBoxManage closemedium disk /home/setevoy/VMs/disk/disk1.vdi
Здесь:
Если добавить параметр –delete то удалится и файл /home/setevoy/VMs/disk/disk1.vdi. Если –delete не добавлять то диск удалится из менеджера виртуальных носителей, но физически останется в директории /home/setevoy/VMs/disk/.
3) Далее, если остальные диски, включая iso-образы, отключены, нам будет позволено удалить виртуальную машину:
# VBoxManage unregistervm bsd1 –delete
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%