VirtualBox на FreeBSD без X11

    imageНа данный момент, порт VirtualBox на FreeBSD уже достаточно стабилен и вполне пригоден для постоянного использования. Но при установке на gui-less машинах возникает несколько проблем. Дальше речь пойдет об установке и использовании VirtualBox на FreeBSD машине без X11.



    Установка VirtualBox


    Текущая актуальная версия порта VirtualBox — 3.1.2. Начиная, с 3.1.0 версии порт разбит на два: virtualbox-ose-kmod (модули ядра) и virtualbox-ose (сам virtualbox).

    Под FreeBSD портирована только VirtualBox OSE (Open Source Edition). В ней, по сравнению с полным VirtualBox, нет поддержки USB устройств, а главное — вырезан vRDP сервер, который позволяет подключаться к виртуальной машине любым rdp клиентом.
    Без него и без x11, для установки ОС на виртуальную машину потребуется ставить ее на отдельном компьютере и потом переносить образ диска на FreeBSD машину.

    Эту проблему решил один из разработчиков FreeNAS, прикрутив к VirtualBox vnc-сервер.
    Итак, далее собственно установка VirtualBox.

    Первым делом ставим библиотеки vnc-сервера и модули ядра VirtualBox:
    cd /usr/ports/net/libvncserver && make
    make install
    cd /usr/ports/emulators/virtualbox-ose-kmod && make
    make install


    После этого качаем патч для VirtualBox:
    cd ~/patches
    fetch www.mail-archive.com/freebsd-stable@freebsd.org/msg108586/vboxvnc-20100211.tar.gz
    cd /usr/ports/emulators/virtualbox-ose
    tar xvf ~/patches/vboxvnc-20100211.tar.gz


    Делаем
    make config
    снимаем все галочки, кроме Guest Additions и DBUS, и ставим VirtualBox:
    make
    make install


    Добавляем загрузку модуля VirtualBox и запуск скрипта для возможности работы адаптера виртульной машины в bridge-режиме (без нее — только NAT):
    echo 'vboxdrv_load="YES"' >> /boot/loader.conf
    echo 'vboxnet_enable="YES"' >> /etc/rc.conf


    Чтобы лишний раз не перезагружаться, вручную грузим модуль и скрипт:
    kldload vboxdrv
    /etc/rc.d/vboxnet start


    Создание и настройка виртуальной машины


    Создание виртуальной машины из консоли описано в этой статье, поэтому приведу только последовательность команд:
    # Создаем виртуалку (посмотреть все возможные ostype: VBoxManage list ostype)
    VBoxManage createvm --name MicroXP --ostype WindowsXP --register

    # Задаем парамерты виртуалки (bridgeadapter1 указывает адаптер хоста, к которому привязываем виртуалку)
    VBoxManage modifyvm MicroXP --memory 256 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on

    # Создаем жесткий диск, размер указывается в мегабайтах
    VBoxManage createhd --filename /usr/local/vbox/iso/MicroXP.vdi --size 1000 --register

    # Создаем контроллер на виртуалке
    VBoxManage storagectl MicroXP --name "IDE Controller" --add ide

    # Цепляем диск к контроллеру
    VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /usr/local/vbox/MicroXP.vdi

    # Цепляем установочный образ к контроллеру
    VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/local/vbox/MicroXP-v0.82.iso

    # Устанавливаем загрузку с установочного образа
    VBoxManage modifyvm MicroXP --boot1 dvd


    Далее, запускаем машину и указываем ей параметры vnc:
    VBoxHeadless --startvm MicroXP -v on -a 192.168.1.1 -p 5900 -S password

    Поключаемся vnc-клиентом (например, UltraVNC под виндой) и ставим ОС. Затем нужно поставить guest additions в виртуалку, без них vnc сервер иногда глючит:
    VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/local/lib/virtualbox/additions/VBoxGuestAdditions_3.1.2.iso

    После этого, виртуальная машина готова к использованию:


    Полезные ссылки


    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 20
    • 0
      Что-то Каспер ругается на Вашу первую картинку в посте.
      • +1
        Наверное не любит чертей и google picasa.
        • 0
          Только Вы написали коммент, он осознал свою ошибку и послушно показал картинку )
      • 0
        На каком-нибудь VDS удастся винду таким макаром поднять? ;)
        • 0
          Думаю, да. Завтра попробую на генту. Между прочим, некоторые хостеры выдают на 10 дней любую vds сразу после регистрации, вот и площадка для экспериментов.
          • 0
            VirtualBox в виртуальном хосте работает не очень хорошо. Например, в jail ругается на семафоры, а в vmware (т.е. freebsd — гость в vmware, и в нем ставим virtualbox) у меня виртуалка падала при переходе в графический режим установки виндов.
      • 0
        спасибо, поднял виндоус сервер благодаря вашей статье.
        • 0
          решил поднять ВБ ещё на одной железке, но после команды

          cd /usr/ports/emulators/virtualbox-ose-kmod && make

          ошибка

          virtualbox-ose-kmod-3.2.8 is marked as broken: Does not compile on FreeBSD 6.X.
          *** Error code 1

          кто может помочь в решении проблемы?
          • 0
            Ну я так понимаю в ошибке указано, что на шестой фре виртуалбокс не работает.
          • 0
            павел, я в гугле есть и для 7ой
            marked as broken: Does not compile at 7.x

            собственно вопрос, на какой фрибсд вы устанавливали ВБ?
            • 0
              у меня без проблем ставилось 3.1.2 на freebsd 7.2, более новые (3.2.6-3.2.8) на 8.0 и 8.1RC2
              • 0
                просто не хочу рисковать, так как работаю на одном из серверов областного провайдера.
            • 0
              А как бороться с неправильно работающей мышкой через VNC никто не знает?
              • 0
                Спасибо вам
                • 0
                  А под VirtualBox-4.0.8 есть такой патч?
                  • +1
                    Нет, но он и не нужен: начиная с 3.0.6 эта функциональность интегрирована в основную ветку OSE версии VirtualBox.
                  • 0
                    FreeBSD 8.2
                    image
                    я избранный и у меня не компилируется, или у кого-то так было?
                    • 0
                      Очевидно нужно обновить порты.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое