====== Компиляция релиза AM3517SDK 05.05.01.00 для SomIQ-AM35 ======
===== Пресобранные файлы =====
Пресобранные двоичные файлы:
| MLO (x-loader) | [[http://mentorel.com/downloads/somiq-am35/boot/MLO|MLO 36k]] |
| u-boot | [[http://mentorel.com/downloads/somiq-am35/boot/u-boot.img|u-boot.img 261k]] |
| uImage | [[http://mentorel.com/downloads/somiq-am35/boot/uImage|uImage 2.8M]] |
===== Требования к системе =====
Данные инструкции были реализованы на ПК с ОС Ubuntu Linux 10.10 (32-bit).
Для выполнения инструкций вам потребуется компилятор arm-2010q1 - как установить описано здесь: [[arm-gcc]]
Для изменения конфигурации ядра Linux потребуется библиотека ncurses. Установите её командой:
sudo apt-get install libncurses5-dev
===== Описание =====
За основу берем официальный релиз AM3517SDK 05_05_01_00 от Texas Instruments: Linux EZ Software Development Kit (EZSDK) for Sitara™ ARM® Microprocessors, доступный по адресу [[http://www.ti.com/tool/linuxezsdk-sitara]]. Для модуля SomIQ-AM35 подойдет сборка для отладочной платы AM3517EVM: [[http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM35xSDK/latest/index_FDS.html]]. Список изменений (release note) доступны здесь: [[http://processors.wiki.ti.com/index.php/Sitara_SDK_5.05.01_Release_Notes]]
Для работы отладочной платы Somiqboard и модуля SomIQ-AM35 необходимо скомпилировать файлы MLO, u-boot.img, uImage. Файловую систему мы возьмем готовую из SDK.
===== Исходные тексты =====
Скачайте исходные тексты загрузчика u-boot и ядра Linux для модуля SomIQ-AM37: [[http://mentorel.ru/downloads/somiq-am35/src/am3517-somiq-sdk-src-05.05.01.00.tar.gz]]. Это точная копия архива от TI, но с уже добавленной поддержкой SomIQ-AM35.
$ wget http://mentorel.ru/downloads/somiq-am35/src/am3517-somiq-sdk-src-05.05.01.00.tar.gz
$ tar xzf am3517-somiq-sdk-src-05.05.01.00.tar.gz
$ cd am3517-somiq-sdk-src-05.05.01.00
$ ls -l
-rw-r--r-- 1 maxx maxx 96454592 2012-12-17 21:57 linux-2.6.37-psp04.02.00.07.sdk.tar.gz
-rw-r--r-- 1 maxx maxx 149073 2012-12-17 21:52 linux.patch
-rw-r--r-- 1 maxx maxx 11679628 2012-12-17 22:04 u-boot-2011.09-psp04.06.00.08.tar.gz
-rw-r--r-- 1 maxx maxx 41998 2012-12-17 22:03 u-boot.patch
Что находится в архиве:
- linux-2.6.37-psp04.02.00.07 - исходники ядра Linux 2.6.37 с поддержкой SomIQ-AM37
- linux.patch - файл с исправлениями исходного ядра 2.6.37 из SDK (файл добавлен для примера, не использовать!)
- u-boot-2011.09-psp04.06.00.08 - исходники u-boot (SPL) 2011.09 с поддержкой SomIQ-AM37
- u-boot.patch - файл с исправлениями исходного u-boot (SPL) 2011.09 из SDK (файл добавлен для примера, не использовать!)
===== Компиляция MLO и u-boot =====
Распакуем архив u-boot-2011.09-psp04.06.00.08.tar.gz из предыдущего шага:
$ tar xzf u-boot-2011.09-psp04.06.00.08.tar.gz
$ cd u-boot-2011.09-psp04.06.00.08/
$ 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
Настраиваем файлы конфигурации на компиляцию для SomIQ-AM35:
$ make ARCH=arm am3517_somiq_config
awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg > .boards.depend
Configuring for am3517_somiq board...
Непосредственно компиляция:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
После завершения процесса компиляции у вас появятся два новых файла: MLO и u-boot.img. Запишите их на SD карту, раздел FAT32. Файл MLO должен быть обязательно первым, поэтому лучше записывать его на отформатированный раздел. Как подготовить карту описано здесь: [[somiq-am35-sd]]
===== Компиляция ядра Linux =====
Распакуем исходники ядра Linux:
$ tar xzf linux-2.6.37-psp04.02.00.07.sdk.tar.gz
$ cd linux-2.6.37-psp04.02.00.07
$ ls
arch CREDITS drivers include Kbuild lib mm README scripts tools
block crypto firmware init Kconfig MAINTAINERS net REPORTING-BUGS security usr
COPYING Documentation fs ipc kernel Makefile patches samples sound virt
Очищаем исходники от предыдущей конфигурации (на всякий случай):
$ make ARCH=arm mrproper
Настраиваем файлы конфигурации на компиляцию для SomIQ-AM35:
make ARCH=arm am3517_somiq_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/AM35xSDK/latest/exports/am3517-evm-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 am3517-evm-sdk-bin-05.05.01.00.tar.gz
$ ls -1
MLO-am3517-evm
tisdk-rootfs-am3517-evm.tar.gz
u-boot-am3517-evm.img
uImage-am3517-evm.bin
Нам понадобится только файл **tisdk-rootfs-am3517-evm.tar.gz**, остальные можно удалить. Монтируйте SD карту, раздел для файловой системы ext3. Если в вашей системе после монтирования путь к разделу будет, например, “/media/sdc2”, то команда для записи файловой системы на раздел будет (права супер-пользователя обязательны!):
cd /media/sdc2
sudo tar xzf tisdk-rootfs-am3517-evm.tar.gz
Далее отмонтируйте все разделы SD карты, вставьте её в слот P3 на плате Somiqboard, подключите дисплей, мышь, USB кабель для вывода консольных сообщений и подайте питание.
===== Изменение разрешения дисплея =====
U-boot в сборке от TI не имеет дополнительных параметров для настройки разрешения дисплея, поэтому нам надо вручную добавить недостающие аргументы в bootargs. Для примера зададим разрешение DVI/HDMI дисплея 1280х720
setenv optargs omapfb.mode=dvi:1280x720MR-16@60 omapdss.def_disp=dvi vram=12M