====== Ubuntu для SomIQ-AM37 ======
===== Подготовка SD карты =====
Для загрузки процессора на модуле SomIQ нужна SD карта, подготовленная специальным образом. Подробные инструкции описаны на этой [[somiq-am35-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 /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