Содержание
Ubuntu для SomIQ-AM37
Подготовка SD карты
Для загрузки процессора на модуле SomIQ нужна SD карта, подготовленная специальным образом. Подробные инструкции описаны на этой странице
Запись загрузчиков на SD карту
Процессорные модули SomIQ-AM37 существуют в двух конфигурациях: ОЗУ 256М и ОЗУ 512М. Соответственно, для этих объемов необходимы свои загрузчики MLO и u-boot.img. Скачайте необходимые загрузчики для вашего модуля:
ОЗУ | файл MLO |
---|---|
256M | http://www.mentorel.ru/downloads/somiq-am37/boot/MLO.256 |
512M | http://www.mentorel.ru/downloads/somiq-am37/boot/MLO.512 |
ОЗУ | файл u-boot.img |
---|---|
256M | http://www.mentorel.ru/downloads/somiq-am37/boot/u-boot.img.256 |
512M | http://www.mentorel.ru/downloads/somiq-am37/boot/u-boot.img.512 |
Переименуйте скачанные файлы, чтобы убрать в конце цифры 256 или 512.
Запишите на SD карту, раздел FAT32, сначала файл MLO, а затем u-boot.img.
Запись ядра Linux на SD карту
Скачайте и запишите файл ядра Linux 3.0.17+ на FAT32 раздел SD карты. обратите внимание, что файл ядра должен называться uImage
wget http://www.mentorel.ru/downloads/somiq-am37/boot/uImage-3.0.17+ cp uImage-3.0.17+ /media/boot/uImage
Модули ядра
wget http://www.mentorel.ru/downloads/somiq-am37/boot/modules-3.0.17+-r115a-beagleboard.tgz cd /media/rootfs sudo tar xf <путь к архиву>/modules-3.0.17+-r115a-beagleboard.tgz
Ubuntu 12.10 (Quantal) (armhf based) Загрузка файловой системы
Воспользуемся готовой сборкой файловой системы, содержащей минимальное количество пакетов, поэтому доступна только консоль, но графическую оболочку мы установим сами. Скачайте файловую систему:
wget -c http://rcn-ee.net/deb/minfs/quantal/ubuntu-12.10-minimal-armhf-2012-10-22.tar.xz
Можно убедится, что скачанный файл не поврежден:
md5sum ubuntu-12.10-minimal-armhf-2012-10-22.tar.xz 442c3a26af8e80ecf44ea470f5dcacd5 ubuntu-12.10-minimal-armhf-2012-10-22.tar.xz
Распакуйте архив:
tar xJf ubuntu-12.10-minimal-armhf-2012-10-22.tar.xz
Получится директория с двумя файлами:
ubuntu:ubuntu-12.10-minimal-armhf-2012-10-22$ ls armel-rootfs-201210221517.tar user_password.list
В файле user_password.list содержится только информация об имени пользователя и его пароле для работы в файловой системе:
- Имя пользователя: ubuntu
- Пароль: temppwd
На раздел ext4 мы будем записывать содержимое архива armel-rootfs-201210221517.tar. Для этого подмонтируйте раздел ext4 карты SD и перейдите на него:
cd /media/rootfs
Теперь обязательно с правами суперпользователя (root) распакуйте содержимое архива с файловой системой:
sudo tar xf armel-rootfs-201210221517.tar
Скачайте модули для нашего ядра на ПК:
wget http://www.mentorel.ru/downloads/somiq-am37/boot/modules-3.0.17+-r115a-beagleboard.tgz
Запишите модули ядра в файловую систему на карте:
sudo tar xzf <путь к архиву с модулями ядра>/modules-3.0.17+-r115a-beagleboard.tgz
После загрузки файловой системе не забудьте выполнить команду «depmod -a» чтобы создать список доступных модулей в системе
sudo depmod -a
Включение сети при загрузке
Откройте файл /etc/network/interfaces и уберите знак решетки в начале строки
#auto eth0 #iface eth0 inet dhcp
Чтобы получилось:
auto eth0 iface eth0 inet dhcp
Теперь при старте Ubuntu система сама определит IP-адрес для сетевого контроллера на модуле SomIQ
Проблема с сетью
Обратите внимание, что используя одну SD карту с разными модулями SomIQ, у которых MAC-адрес записан в EEPROM, сеть может не стартовать совсем. Это связано с файлом /etc/udev/rules.d/70-persistent-net.rules, в котором прописывается MAC-адрес интерфейса. Затем, когда вы меняете процессорный модуль MAC адрес будет другим и Ubuntu захочет привязать именно старый MAC к сетевому интерфейсу eth0. Удалите записи в этом файле и всё заработает.
Wifi с somiq-wlan
Далее описано как поднять wifi на модуле Somiqboard с модулем SomIQ-AM37 и индустриальным wifi адаптером somiq-wlan
Для работы wi-fi модуля WL1271 требуются бинарные загрузчики. Последнюю версию бинарных загрузчиков для чипа wl1271 скачивают так:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Вы получите директорию с большим количеством различных загрузчиков для самых разных беспроводных чипов. Нас интересует только директория ti-connectivity, которую необходимо скопировать в директорию на карте SD: /lib/firmware. Для этого выполним команду:
sudo cp -a <path>/ti-connectivity /media/rootfs/lib/firmware/
Команды, вводимые в консоли:
1) sudo ip link set wlan0 up [ 39.758850] wl1271: firmware booted (Rev 6.1.5.50.74) [ 39.771240] ADDRCONF(NETDEV_UP): wlan0: link is not ready 2) sudo iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:24:8C:95:95:2F Channel:1 Frequency:2.412 GHz (Channel 1) Quality=15/70 Signal level=-95 dBm Encryption key:on ESSID:"qwerty203" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s Mode:Master Extra:tsf=000000dea50f6bb0 Extra: Last beacon: 1750ms ago IE: Unknown: 0009717765727479323033 IE: Unknown: 010882848B962430486C IE: Unknown: 030101 IE: Unknown: 2A0104 IE: Unknown: 2F0104 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: 32040C121860 IE: Unknown: DD090010180200F0000000 Cell 02 - Address: 00:22:B0:90:73:E3 ******** a lot of APs **** 3) sudo iwconfig wlan0 essid "TP-LINK_D4959E" root@beagleboard:~# [ 85.033386] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 85.040618] wl1271: Association completed. 4) sudo iwconfig wlan0 wlan0 IEEE 802.11abgn ESSID:"TP-LINK_D4959E" Mode:Managed Frequency:2.452 GHz Access Point: B0:48:7A:D4:95:9E Bit Rate=11 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on Link Quality=32/70 Signal level=-78 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:2 Missed beacon:0 5) sudo dhclient wlan0 6) ping google.com root@beagleboard:~# ping google.com PING google.com (173.194.69.101): 56 data bytes 64 bytes from 173.194.69.101: seq=0 ttl=45 time=41.901 ms 64 bytes from 173.194.69.101: seq=1 ttl=46 time=56.547 ms 64 bytes from 173.194.69.101: seq=2 ttl=41 time=80.504 ms ^C --- google.com ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 41.901/59.650/80.504 ms
Разрешение логина через консоль
Примечание: это действие не обязательное
Теперь создайте файл /etc/init/serial.conf на SD карте со следующим содержимым:
start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty 115200 ttyO2
Настройка дистрибутива Ubuntu
Установка оконного менеджера
sudo apt-get update sudo apt-get install lxde lxde-core lxde-icon-theme
Установка офиса
Установка приложений для работы с офисными документами (*.doc, *.xls). Легковесными альтернативами OpenOffice и LibreOffice послужал AbiWord (текстовый процессор) и Gnumeric (работа с таблицами).
sudo apt-get install abiword gnumeric
Компиляция Google Диск
Сначала нужно установить требуемые пакеты
sudo apt-get install gcc pkg-config git cmake build-essential libgcrypt11-dev libjson0-dev libcurl4-openssl-dev \ libexpat1-dev libboost-filesystem-dev libboost-program-options-dev binutils-dev
Скачиваем исходники Grive
git clone https://github.com/Grive/grive.git
Компиляция. На SomIQ-AM37D с процессором DM3730 1ГГц и ОЗУ 512М компиляция занимает около 5-х минут.
cd grive cmake . make
Теперь создаем директорию, с которой будет синхронизироваться Google-диск (название может быть любым):
mkdir ~/Google-drive
Скопируем скомпилированную утилиту в новую директорию:
cp ./grive/grive ~/Google-drive
Запустим утилиту с целью подключится непосредственно к службе Google-Drive:
cd ~/Google-drive ./grive -a
Запущенная программа grive выведет ссылку, которую надо открыть, зайти в свою учетную запись на Google-drive и подтвердить запрос Grive на использование Google-Drive. Появится цифро-буквенный код, который необходимо скопировать и вставить в запрос grive. Если всё ОК, то запустится демон, который и будет синхронизироваться с Гугл-диском. Файлы можно открывать из консоли или графического файлового менеджера.
Локализация
cd /usr/share/locales sudo ./install-language-pack ru_RU sudo vi /etc/default/keyboard
Исправить файл /etc/default/keyboard:
XKBMODEL="pc105" XKBLAYOUT="us,ru" XKBVARIANT="" XKBOPTIONS="grp:ctrl_shift_toggle"
Настройка часового пояса
Сначала выберите часовой пояс, соответствующий вашему положению. В терминале появится текстовое меню с понятным интерфейсом:
sudo dpkg-reconfigure tzdata
Чтобы сразу же синхронизировать локальное время с сервером времени в Интернет выполните команду:
sudo ntpdate pool.ntp.org
Установка RDP-клиента
remmina - популярный GUI для подключения к удалённому рабочему столу, в том числе по RDP
sudo apt-get install remmina
FreeRDP — клиент (форк rdesktop, активно развивается)
sudo apt-get install freerdp