[Из песочницы] Настройка Intel Galileo с нуля и до установки полной версии Debian
На днях получил долгожданный Intel Galileo, заказывал у SparkFun Electronics, приехало довольно быстро и дешево. За несколько минут установил Little Linux от Intel подключился к нему по SSH и сразу стало грустно :) т.к. возможности у этого линукса крайне ограничены.Поиски по интернету инструкций по установке полноценного Linux на Intel Galileo успехов не принесли. Потому решил написать статью по полной установке от начала до конца и заодно получить инвайт на хабр.
Итак начнем, инструкция будет основываться на этой.
Введение
Прежде чем приступать к установке Debian необходимо активировать сетевую карту на Intel Galileo, делается это с помощью скетча для Arduino:
#include
// Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0×98, 0×4F, 0xEE, 0×00, 0×66, 0×74 };
// Initialize the Ethernet client library // with the IP address and port of the server // that you want to connect to (port 80 is default for HTTP): EthernetClient client;
void setup () { // start the serial library: Serial.begin (9600); // start the Ethernet connection: if (Ethernet.begin (mac) == 0) { Serial.println («Failed to configure Ethernet using DHCP»); // no point in carrying on, so do nothing forevermore: for (;;) ; } // print your local IP address: Serial.println (Ethernet.localIP ()); } void loop () { } После чего в роутере необходимо создать привязку IP адреса к MAC-адресу Intel Galileo (указан наклейкой на LAN порту).
Установка Debian «Этап 1.Скачать Debian-7.3.0-i386-netinst.iso для виртуальной машины«Примечание: Установить следующие показатели для виртуальной машины: 256 MB ОЗУ, 1 CPU, 3.8 GB HDD (разметить под ext3), отключить принтер, звуковую карту и CD-ROM (после установки).«Примечание: создать второй жесткий диск на 20 GB HDD и разметить его под ext3«Примечание: Работать будем из-под рута«Примечание: Из всех пакетов установим только SSH«Этап 2. Тестируем SHH и обновляемся.«Примечание: Еще раз, все делаем под пользователем root.»
apt-get update apt-get upgrade (лично у меня обновлений не было и команды выполнились за пару секунд)
«Этап 3. Установка даты и времени«Примечание: Можно пропустить, если в процессе установки уже выбрали»
date apt-get install ntpdate y ntpdate pool.ntp.org «Этап 4. Монтируем второй жесткий диск (тот что на 20 Гб).«Примечание: Довольно интересный этап, обратите внимание, если Debian был установлен на файловую систему ext3, то все что ниже также надо выполнять под этой файловой системой. Я это не учел и был много интересных и не понятных ошибок.»
fdisk –l «Примечание: Второй жесткий диск в моем случае называется /dev/sdb1. Если диск не был монтирован в систему, то выполняем команды ниже » fdisk /dev/sdb1 n p «Со всем соглашаемся и жмем Enter пока нас вновь не спросят (примерно 2–3 раза)» w mkfs.ext3 /dev/sdb1 y cd / mkdir sdb mount -t ext3 /dev/sdb1 /sdb e2label /dev/sdb1 /sdb df -h cd sdb ls «Примечание: тут и далее ls можете пропускать, если уверены, что копирование/монтирование прошло удачно.«Этап 5. Скачиваем маленький линукс.»
cd /sdb wget http://downloadmirror.intel.com/23171/eng/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5.7z «Примечание: Если еще не установили архиватор.» apt-get install p7zip p7zip -d LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5.7z cd /sdb/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5 «Примечание: Посмотрим что извлекли.» ls cd /sdb mv /sdb/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5/image-full-clanton.ext3 /sdb/image-full-clanton_original.ext3 mkdir /sdb/image-full-clanton_original mount -t ext3 /sdb/image-full-clanton_original.ext3 /sdb/image-full-clanton_original cd /sdb/image-full-clanton_original «Примечание: Посмотрим как все примонтровалось» ls «Этап 6. Модифицируем Debian под Intel Galileo.»
cd /media mkdir /media/card mkdir /media/cf mkdir /media/hdd mkdir /media/mmc1 mkdir /media/net mkdir /media/ram mkdir /media/realroot mkdir /media/union mkdir /sketch cp -avr /sdb/image-full-clanton_original/lib/modules/3.8.7-yocto-standard/ /lib/modules/3.8.7-yocto-standard cd /lib/modules/3.8.7-yocto-standard «Примечание: Убедимся, что все скопировалось.» ls cp -avr /sdb/image-full-clanton_original/opt/cln/ /opt/cln cd /opt/cln/galileo «Примечание: И тут тоже все скопировалось.» ls «Этап 7. Внесем изменения для инициализации Debian.»
nano /etc/inittab «Примечание: вставить в конец файла«s0:2345: respawn:/sbin/getty -L 115200 ttyS1 vt102«Этап 8. Создаем образ нашего Линукса.»
cd /sdb «Примечание: Если будет не получаться попробуйте перезапустить Debian в безопасном режиме. Лично у меня именно тут начались ошибки из-за разница между ext3 и ext4 — исправил форматированием первого жесткого под ext3 и начав сначала.» fdisk -l «Примечание: Обратите внимание на количество блоков в /dev/sda1 в моем случае это 3766272.» dd if=/dev/sda1 of=/sdb/image-full-clanton.ext3 bs=3766272 conv=sync, noerror mkdir /sdb/image-full-clanton mount -t ext3 /sdb/image-full-clanton.ext3 /sdb/image-full-clanton cd /sdb/image-full-clanton «Примечание: Убедимся, что все скопировалось.» ls «Этап 9. Последние штрихи в установке.»
rm -rf /sdb/image-full-clanton/sys rm -rf /sdb/image-full-clanton/proc mkdir /sdb/image-full-clanton/sys mkdir /sdb/image-full-clanton/proc cd /sdb umount -l /sdb/image-full-clanton mv /sdb/image-full-clanton.ext3 /sdb/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5/image-full-clanton.ext3 cd /sdb/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5 «Примечание: Убедимся в наличии файла image-full-clanton.ext3» ls «Этап 10. Подготовка MicroSD — по инструкции«От имени Администратора запустим из командной строки diskpart.exe.»
mount -t ext3 /dev/sdb1 /sdb cd /sdb/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5 «Активируем SD карту в виртуальной машине и выполним команду fdisk -l для понимания названия карты. В моем случае SD карта это dev/sdc1»:
mkdir mnt/usb mount -t vfat -o iocharset=utf8, codepage=866 /dev/sdc1 /mnt/usb «Сейчас необходимо скопировать содержимое папки »/sdb/LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5» на карту памяти, способов много, я предпочел установить файловый менеджер mc (apt-get install mc), запустить его и в нем выполнить копирование»
На этом этапе я поторопился и нагло вырвал кард ридер после чего Intel Galileo отказался с нее стартовать. После чего скопировал с карты памяти на рабочий стол файл image-full-clanton.ext3, повторил этап 10, разархивировал LINUX_IMAGE_FOR_SD_Intel_Galileo_v0.7.5.7z на карту памяти, скопировал с заменой image-full-clanton.ext3, добавил 2 файла из архива LITTLE_LINUX_IMAGE_FirmwareUpdate_Intel_Galileo_v0.7.5 и вставил карту памяти в Intel Galileo. Спустя секунд 20 я зашел на него по SSH.

Для начала установил «mc», установка заняла довольно продолжительный период по времени, но закончилась удачно. В дальнейшем планирую установить web-сервер, а пока выбираю наименее «тяжелые» системы для этого.

Вместо вывода Таким образом я получил полноценный Debian на Intel Galileo, на котором исправно работают большинство команд, но некоторая часть не работает или работает нестабильно. В ближайших планах заставить Galileo считывать данные с датчиков и записывать результат в SQL таблицу с последующим выводом данных на сайт.Как только дадут инвайт на Windows 8 для Galileo возможно его функционал увеличится, в любом случае установлю и это будет интересно.
Напоминаю, что Intel Galileo не поддерживает SD карты объемом больше 32 Гб и крайне предпочтительно использовать карты памяти 10 класса.
Страница загрузок на сайте Intel
