====== Компиляция релиза 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