Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
howto:programming:embedded:buildroot:vm-install [2012/04/24 11:12] sergey создано |
howto:programming:embedded:buildroot:vm-install [2019/10/26 21:16] (текущий) sergey ↷ Страница перемещена из dev:embedd:buildroot:vm-install в howto:programming:embedded:buildroot:vm-install |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | x | + | ====== Развертывание виртуальной машины с 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 добавляем | ||
+ | <file conf host:/etc/network/interfaces> | ||
+ | auto vbox | ||
+ | iface vbox inet static | ||
+ | bridge_ports eth0 | ||
+ | address 192.168.55.1 | ||
+ | netmask 255.255.255.0 | ||
+ | </file> | ||
+ | В виртуальную машину добавляем новый интерфейс -- сетевой мост с vbox. \\ | ||
+ | Конфигурируем сеть 192.168.55 в guest и board, присваиваем адреса, проверяем ping. | ||
+ | |||
+ | == Скачиваем и утанавливаем buildroot == | ||
+ | [[http://buildroot.uclibc.org/download.html|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 | ||
+ | |||
+ | <file conf /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" | ||
+ | </file> | ||
+ | sudo service tftpd-hpa restart | ||
+ | |||
+ | == Настраиваем nfs == | ||
+ | sudo aptitude install nfs-kernel-server portmap | ||
+ | cd ~ | ||
+ | mkdir nfsroot | ||
+ | |||
+ | <file conf /etc/exports> | ||
+ | /home/user/nfsroot 192.168.0.0/24(rw,sync,no_subtree_check,all_squash,anongid=1000,anonuid=1000,no_wdelay) | ||
+ | </file> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <file conf /etc/uucp/sys> | ||
+ | system em5 | ||
+ | port com1-38400 | ||
+ | time any | ||
+ | </file> | ||
+ | |||
+ | <file conf /etc/uucp/port> | ||
+ | port com1-38400 | ||
+ | type direct | ||
+ | device /dev/ttyUSB0 | ||
+ | speed 38400 | ||
+ | hardflow false | ||
+ | </file> | ||
+ | |||
+ | Подключаемся к системе em5. | ||
+ | cu em5 |