====== Компиляция релиза 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 кабель для вывода консольных сообщений и подайте питание.