Документация по ОС FreeBSD Среда, 08.05.2024, 11:36
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

VirtualBox без Xorg [2011]
После того, как qemu простилась с ядерным модулем kqemu и работать с ней стало совершенно невозможно, пришлось мне в плане виртуализации искать другие решения. Вариантов, на самом деле, не много, из всего найденного больше всего приглянулся emulators/virtualbox-ose, однако изрядно смущает, что он оборудован графическим интерфейсом, который в свою очередь при сборке вытягивет за собой чуть не весь xorg. Что, согласитесь, на сервере совершенно неуместно.
Однако, GUI от virtualbox отрывается легко и непринужденно с сохранением всего функционала программы. Итак, для начала надо правильно собрать:

$ cd /usr/ports/emulators/virtualbox-ose
$ sudo make config

Здесь надо правильно сконфигурировать сборку: отключить qt4, x11 и NLS. Если нативную поддержку языков не отключить, не соберется, потребовав поддержки графики. Обязательно не забыть установить [X] напротив VNC, эта штука архиполезна на этапе установки операционки в гостевую машину, да и вообще не помешает:



После этого

$ sudo make
$ sudo make install
$ sudo make clean

Все, virtualbox у нас установлен, причем без лишних сущностей. В отсутствие GUI конфигурирование виртуальных машин и управление ими производится из командной строки. Вот пример создания и запуска вирутальной машины:

Создаем виртуальную машину:

VBoxManage createvm -name "TestBSD" -register

Изменяем параметры созданной машины:

VBoxManage modifyvm "TestBSD" --memory 1024 --acpi on --nic1 bridged --bridgeadapter1 em0 --nictype1 82540EM

–memory 1024 – задаем количество памяти в мегабайтах (1024 мб – 1 Гб)
–acpi on – включаем ACPI
–nic1 bridged – определяем одну сетевую карту для гостевой системы и задаем ей тип «мост»
–bridgeadapter1 em0 – цепляем мостом гостевую сетевую карту к физически существующему интерфейсу em0
–nictype1 82540EM – тип сетевой карты, используемый виртуальной машиной. 

Доступны следующие типы:

Am79C970A PCNet-PCI-II 10 mbit 
Am79C973 PCNet-Fast III 100 mbit 
82540EM Intel pro/1000 MT Desktop 1 Gb 
82543GC Intel pro/1000 T Server 1 Gb
82545EM Intel pro/1000 MT Server 1 Gb 

Добавляем IDE контроллер в виртуальную машину:

VBoxManage storagectl TestBSD --name "Disk Controller" --add ide

или добавляем SATA контроллер в виртуальную машину.

VBoxManage storagectl TestBSD --name "Disk Controller" --add sata

Создаем жесткий диск размером в 50 гб.

VBoxManage createhd --filename /home/denis/vms/7301.vdi --size 51200

Сжимаем его. будет расти по мере заполнения.

VBoxManage modifyhd /home/denis/vms/7301.vdi compact

Подключаем созданный диск к контроллеру

VBoxManage storageattach testBSD --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/denis/vms/testbsd.vdi

Подключаем образ установочного диска к контроллеру

VBoxManage storageattach TestBSD --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/denis/isos/install.iso

Включаем загрузку ВМ с установочного образа

VBoxManage modifyvm TestBSD --boot1 dvd

Запуск машины.

VBoxHeadless -startvm 'TestBSD' -n -o password

Вот тут-то и пригодилась нам та [X] перед VNC :) Ключ -n указывает, что вместе с машиной нужно запустить vnc сервер, который будет показывать нам виртуальную машину, а ключ -o задает пароль для присоединения к этому серверу. То есть запустив машину и подцепившись любым vnc клиентом к IP адресу хоста мы увидим консоль созданной виртуальной машины. Собственно, после того как машина настроена, на нее установлена операционная система и настроена сеть, можно vnc сервер отключить.
В заключение приведу скриптик, который я сваял для того, чтобы автоматизировать процесс создания виртуальной машины. Скрипт предельно примитивный, изящества кода внем нет, но он работает :)

#!/bin/sh
#Скрипт для создания виртуальных машин VirtualBox.
#ВНИМАНИЕ: Скрипт не использует инкакой "защиты от дурака", поэтому
#проверяйте ввод: права на папки, куда помещаются файлы,
#должны у вас быть, названия устройств и пути необходимо писать правильно
#Все спасибы и ругачки можно оставить здесь: http://www.daemony.ru/?p=967
#
ALLRIGHT=n
while [ $ALLRIGHT != "y" ]
do
echo -n "Введите название виртуальной машины: "
read NAMEVM
echo -n "Введите объем оперативной памяти виртуальной машины в мегабайтах: "
read RAMSZ
echo -n "Введите имя сетевого интерфейса хоста для создания сетевого моста: "
read IFNAME

echo "Выберите тип сетевой карты виртуальной машины:"
echo "1. PCNet-PCI-II 10 mbit"
echo "2. PCNet-Fast III 100 mbit"
echo "3. Intel pro/1000 MT Desktop"
echo "4. Intel pro/1000 T Server"
echo "5. Intel pro/1000 MT Server"
read VMIFTYPE
case "$VMIFTYPE" in
1)
  VMIFTYPE="Am79C970A";;
2)
  VMIFTYPE="Am79C973";;
3)
  VMIFTYPE="82540EM";;
4)
  VMIFTYPE="82543GC";;
[5p])
  VMIFTYPE="82545EM";;
*)
  echo "неверный ввод";;
esac
echo "Введите тип интерфейса дисков:"
echo "1. ide"
echo "2. sata"
echo "3. scsi"
echo "4. sas"
echo "5. floppy"
read DISKTYPE
case "$DISKTYPE" in
1)
  DISKTYPE="ide"
  CONTTYPE="PIIX4";;
2)
  DISKTYPE="sata"
  CONTTYPE="IntelAHCI";;
3)
  DISKTYPE="scsi"
  CONTTYPE="BusLogic";;
4)
  DISKTYPE="sas"
  CONTTYPE="LSILogicSAS";;
[5p])
  DISKTYPE="floppy"
  CONTTYPE="I82078";;
*)
  echo "неверный ввод";;
esac
echo -n "Введите имя образа виртуальной машины включая путь и расширение .vdi: "
read PATHVM
echo -n "Введите объем жесткого диска виртуальной машины в мегабайтах: "
read DISKSZ
echo -n "Подключить загрузочный обзаз? (y/n)"
read BOOTDISK
case "$BOOTDISK" in
y)
  echo -n "Введите полное имя файла загрузочного образа, включая путь и расширение"
  read BOOTDISK;;
[Nn])
  BDMESSAGE="Загрузочный диск не подключен";;
*)
  echo "неверный ввод";;
esac
echo "Проверьте правильность ввода данных:"
echo " "
echo  "имя виртуальной машины: $NAMEVM"
echo  "объем оперативной памяти: $RAMSZ"
echo  "имя сетевого интерфейса хоста: $IFNAME"
echo  "тип интерфейса дисков: $DISKTYPE"
echo  "тип контроллера дисков: $CONTTYPE"
echo  "расположение и имя файла виртуальной машины: $PATHVM"
echo  "размер жесткого диска виртуальной машины: $DISKSZ"
echo  "тип сетевого адаптера виртуальной машины: $VMIFTYPE"
echo  "Образ загрузочного диска: $BDMESSAGE"
echo " "
echo -n "Верны ли введенные данные (y/n)?"
read ALLRIGHT
done
VBoxManage createvm -name "$NAMEVM" -register
VBoxManage modifyvm "$NAMEVM" --memory $RAMSZ --acpi on --nic1 bridged --bridgeadapter1 $IFNAME --nictype1 $VMIFTYPE
VBoxManage storagectl $NAMEVM --name "Disk Controller" --add $DISKTYPE --controller $CONTTYPE
VBoxManage createhd --filename $PATHVM --size $DISKSZ --format VDI
VBoxManage modifyhd $PATHVM compact
VBoxManage storageattach $NAMEVM --storagectl "Disk Controller"  --port 0 --device 0 --type hdd --medium $PATHVM
case "$BOOTDISK" in
y)
  echo " ";;
[Nn])
  echo " ";;
*)
  VBoxManage storageattach $NAMEVM --storagectl "Disk Controller"  --port 1 --device 0 --type dvddrive --medium $BOOTDISK;;
esac


Источник: http://www.daemony.ru/?p=967
Категория: Установка и настройка | Добавил: oleg (08.10.2011) | Автор: skiangel
Просмотров: 1156 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024