Развертывание виртуальной машины с buildroot

Далее описан рецепт создания виртуальной машины c buildroot под debian. Это очень удобный способ локализовать и «законсервировать» рабочее окружение: при необходимости внесения изменений в проект через пару лет после его создания, можно просто запустить виртуалку с настроенной средой, а не разворачивать её с нуля.

Загрузка по tftp, /root на nfs, консольный клиент.

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

Можно использовать xen, VirtualBox, или любую другую систему виртуализации. При настройке следует уделить внимание сети, usb и com-портам.
Удобный и безопасный способ подключения – включить в виртуальной машине два виртуальных сетевых адаптера: один рабоатет в режиме NAT, другой подключается к виртуальному сетевому мосту (brctl) в родительской системе.

Устанавливаем debian-squeeze

Устанавливаем необходимые пакеты:

 sudo apt-get install subversion
 sudo apt-get install build-essential bison flex gettext libncurses5-dev texinfo autoconf automake libtool 
 sudo apt-get install unzip bzip2
Настраиваем сеть

из трех хостов: host, guest, board. aptitude install bridge-utils

В /etc/network/interfaces на host добавляем

host:/etc/network/interfaces
auto vbox
iface vbox inet static
	bridge_ports eth0
	address 192.168.55.1
	netmask 255.255.255.0

В виртуальную машину добавляем новый интерфейс – сетевой мост с vbox.
Конфигурируем сеть 192.168.55 в guest и board, присваиваем адреса, проверяем ping.

Скачиваем и утанавливаем buildroot

buildroot

wget http://buildroot.uclibc.org/downloads/buildroot-2012.02.tar.bz2
tar -xvjf buildroot-2012.02.tar.bz2
ln -s buildroot-2012.02/ buildroot
Настраиваем tftp
cd ~
mkdir tftproot
sudo aptitude install tftpd-hpa
/etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
RUN_DAEMON="yes"
TFTP_USERNAME="user"
TFTP_DIRECTORY="/home/user/tftproot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
sudo service tftpd-hpa restart
Настраиваем nfs
sudo aptitude  install nfs-kernel-server portmap
cd ~
mkdir nfsroot
/etc/exports
  /home/user/nfsroot 192.168.0.0/24(rw,sync,no_subtree_check,all_squash,anongid=1000,anonuid=1000,no_wdelay)
sudo service portmap restart
sudo service nfs-kernel-server restart
Настраиваем uucp

(эмулятор терминала)
USB-COM адаптер проброшен в виртуальную машину.

sudo usermod -a -G dialout user
exit
sudo aptitude install uucp

Конфигурируем систему em5 и порт com1-38400.

/etc/uucp/sys
system em5
port com1-38400
time any
/etc/uucp/port
port com1-38400
type direct
device /dev/ttyUSB0
speed 38400
hardflow false

Подключаемся к системе em5.

cu em5