====== Компиляция релиза BeagleBoardSDK 05.05.01.00 для SomIQ-AM37 ======
===== Пресобранные файлы =====
Пресобранные двоичные файлы:
^ Модуль 256M ^
| MLO (x-loader) | [[http://www.mentorel.ru/downloads/somiq-am37/ezsdk/build/MLO.256|MLO 36k]] |
| u-boot | [[http://www.mentorel.ru/downloads/somiq-am37/ezsdk/build/u-boot.img.256|u-boot.img 261k]] |
^ Модуль 512M ^
| MLO (x-loader) | [[http://www.mentorel.ru/downloads/somiq-am37/ezsdk/build/MLO.512|MLO 36k]] |
| u-boot | [[http://www.mentorel.ru/downloads/somiq-am37/ezsdk/build/u-boot.img.512|u-boot.img 261k]] |
^ Ядро Linux ^
| uImage | [[http://www.mentorel.ru/downloads/somiq-am37/ezsdk/build/uImage|uImage 2.8M]] |
===== Требования к системе =====
Данные инструкции были реализованы на ПК с ОС Ubuntu Linux 10.10 (32-bit).
Для выполнения инструкций вам потребуется компилятор arm-2010q1 - как установить описано здесь: [[arm-gcc]]
Для изменения конфигурации ядра Linux потребуется библиотека ncurses. Установите её командой:
sudo apt-get install libncurses5-dev
===== Описание =====
За основу берем официальный релиз BeagleBoardSDK 05_05_01_00 от Texas Instruments: Linux EZ Software Development Kit (EZSDK) for Sitara™ ARM® Microprocessors, доступный по адресу [[http://www.ti.com/tool/linuxezsdk-sitara]]. Для модуля SomIQ-AM37 подойдет сборка для отладочной платы Beagleboard-XM: [[http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/BeagleBoardSDK/latest/index_FDS.html]]. Список изменений (release note) доступны здесь: [[http://processors.wiki.ti.com/index.php/Sitara_SDK_5.05.01_Release_Notes]]
Что было добавлено для SomIQ-AM37:
- ядро Linux: добавлен режим hd720 (== 1280x720MR-16@60)
- ядро Linux: установка МАК-адреса сетевого контроллера, полученного из u-boot
Для работы отладочной платы Somiqboard и модуля SomIQ-AM37 необходимо скомпилировать файлы MLO, u-boot.img, uImage. Файловую систему мы возьмем готовую из SDK.
===== Исходные тексты =====
Скачайте исходные тексты загрузчика u-boot и ядра Linux для модуля SomIQ-AM37: [[http://www.mentorel.ru/downloads/somiq-am37/ezsdk/somiq-am37-sdk-src-05.05.01.00.tar.gz]]. Это точная копия архива от TI, но с уже добавленной поддержкой SomIQ-AM37.
$ wget http://www.mentorel.ru/downloads/somiq-am37/ezsdk/somiq-am37-sdk-src-05.05.01.00.tar.gz
$ tar xzf somiq-am37-sdk-src-05.05.01.00.tar.gz
$ cd somiq-am37-sdk-src-05.05.01.00
$ ls -l
-rw-r--r-- 1 maxx maxx 110523 2012-12-26 10:50 linux-3.3.7-r115.patch
-rw-r--r-- 1 maxx maxx 102829293 2012-12-26 10:55 linux-3.3.7-r115.tar.gz
-rw-r--r-- 1 maxx maxx 53822 2012-12-26 10:04 u-boot-2012.04.01.patch
-rw-r--r-- 1 maxx maxx 12176196 2012-12-26 10:08 u-boot-2012.04.01.tar.gz
Что находится в архиве:
- linux-3.3.7-r115.tar.gz - исходники ядра Linux 3.3.7 с поддержкой SomIQ-AM37
- linux-3.3.7-r115.patch - файл с исправлениями исходного ядра из SDK (файл добавлен для примера, не использовать!)
- u-boot-2012.04.01.tar.gz - исходники u-boot (SPL) 2012.04 с поддержкой SomIQ-AM37
- u-boot-2012.04.01.patch - файл с исправлениями исходного u-boot (SPL) из SDK (файл добавлен для примера, не использовать!)
===== Компиляция MLO и u-boot =====
Распакуем архив u-boot из предыдущего шага:
$ tar xzf u-boot-2012.04.01.tar.gz
$ cd u-boot-2012.04.01
$ ls -l
api boards.cfg COPYING doc fs MAINTAINERS mkconfig net README spl
arch common CREDITS drivers include MAKEALL mmc_spl onenand_ipl rules.mk tools
board config.mk disk examples lib Makefile nand_spl post snapshot.commit
Для последующей компиляции необходимы пути к компилятору в переменных окружения:
$ export PATH=/opt/arm-2010q1/bin:$PATH
Очищаем исходники от предыдущей конфигурации (на всякий случай):
$ make ARCH=arm distclean
Теперь у вас есть возможность скомпилировать u-boot для двух видов модулей: SomIQ-AM37 (ОЗУ 256M) и SomIQ-AM37D (ОЗУ 512М)\\
Настраиваем сборку на SomIQ-AM37 (256M):
$ make somiq_am37_config
Configuring for somiq_am37 - Board: somiq_am37, Options: DDRSIZE_256M
Настраиваем сборку на SomIQ-AM37D (512M):
$ make somiq_am37d_config
Configuring for somiq_am37d - Board: somiq_am37, Options: DDRSIZE_512M
Непосредственно компиляция:
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
На выходе вы должны получить два файла: MLO и u-boot.img. Эти файлы записываете на SD карту, раздел /boot (сначала файл MLO!). Как подготовить карту описано здесь: [[somiq-am35-sd]]. Отмонтируем карту и теперь можно загружать плату Somiqboard\\
==== Пример загрузки u-boot на модуле SomIQ-AM37D ====
12.04.01 (Nov 08 2012 - 17:08:42)
Texas Instruments Revision detection unimplemented
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img
U-Boot 2012.04.01 (Nov 08 2012 - 17:08:42)
OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
SomIQ board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 128 MiB
MMC: OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Die ID #1d2200029e3800000168682f08011014
MAC address EUI-48 is 00:04:a3:36:16:35
Hit any key to stop autoboot: 0
OMAP3 #
===== Компиляция ядра Linux =====
Распакуем исходники ядра Linux:
$ tar xzf linux-3.3.7-r115.tar.gz
$ cd linux-3.3.7-r115
Очищаем исходники от предыдущей конфигурации (на всякий случай):
$ make ARCH=arm mrproper
Настраиваем файлы конфигурации на компиляцию для SomIQ-AM37:
make ARCH=arm tisdk_somiq_am37_defconfig
Непосредственно компиляция:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
После завершения процесса компиляции у вас появится файл ядра: “arch/arm/boot/uImage”. Этот файл запишите на SD карту, раздел FAT32.
===== Запуск файловой системы =====
Файловую систему скачайте по ссылке: [[http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/BeagleBoardSDK/latest/exports/beagleboard-sdk-bin-05.05.01.00.tar.gz]]. Обратите внимание, что данный архив содержит не только саму файловую систему, но и загрузчики с ядром Linux для AM3517EVM. Последние нам не понадобятся.
Файловая система, поставляемая в сборке от TI, содержит систему запуска приложений **Matrix**, основанную на HTML5. Описание здесь: [[http://processors.wiki.ti.com/index.php/Matrix_Users_Guide]]
Распакуйте архив из SDK:
$ tar xzf beagleboard-sdk-bin-05.05.01.00.tar.gz
$ ls -1
u-boot-beagleboard.img
uImage-beagleboard.bin
MLO-beagleboard
tisdk-rootfs-beagleboard.tar.gz
Нам понадобится только файл **tisdk-rootfs-beagleboard.tar.gz**, остальные можно удалить. Монтируйте SD карту, раздел для файловой системы ext3. Если в вашей системе после монтирования путь к разделу будет, например, “/media/sdc2”, то команда для записи файловой системы на раздел будет (права супер-пользователя обязательны!):
cd /media/sdc2
sudo tar xzf tisdk-rootfs-beagleboard.tar.gz
Далее отмонтируйте все разделы SD карты, вставьте её в слот P3 на плате Somiqboard, подключите дисплей, мышь, USB кабель для вывода консольных сообщений и подайте питание.