Содержание
Компиляция релиза BeagleBoardSDK 05.05.01.00 для SomIQ-AM37
Пресобранные файлы
Пресобранные двоичные файлы:
Модуль 256M | |
---|---|
MLO (x-loader) | MLO 36k |
u-boot | u-boot.img 261k |
Модуль 512M | |
---|---|
MLO (x-loader) | MLO 36k |
u-boot | u-boot.img 261k |
Ядро Linux | |
---|---|
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 кабель для вывода консольных сообщений и подайте питание.