Инструменты пользователя

Инструменты сайта


wiki:somiq-am37-ubuntu

Это старая версия документа!


Ubuntu для SomIQ-AM37

Подготовка SD карты

Для загрузки процессора на модуле SomIQ нужна SD карта, подготовленная специальным образом. Подробные инструкции описаны на этой странице

Запись загрузчиков на SD карту

Процессорные модули SomIQ-AM37 существуют в двух конфигурациях: ОЗУ 256М и ОЗУ 512М. Соответственно, для этих объемов необходимы свои загрузчики MLO и u-boot.img. Скачайте необходимые загрузчики для вашего модуля:

Переименуйте скачанные файлы, чтобы убрать в конце цифры 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/inittab на SD карте (например, с помощью команды «vi /media/rootfs/etc/inittab»):

T2:23:respawn:/sbin/getty -L ttyO2 vt102

добавив 115200 после ttyO2, получится:

T2:23:respawn:/sbin/getty -L ttyO2 115200 vt102

Теперь создайте файл /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
wiki/somiq-am37-ubuntu.1362861690.txt.gz · Последнее изменение: 2013/05/27 09:17 (внешнее изменение)