====== Buildroot 2012.02 for Beagleboard-xM ======
За основу взяты инструкции от [[http://blog.galemin.com|Max Galemin]], который экспериментирует с Beagleboard-XM и камерой 5Мпикс, а мы можем воспользоваться результатами его трудов.
Оригинальные инструкции взяты из этого поста:
[[http://blog.galemin.com/2012/03/buildroot-2012-02-for-beagleboard-xm-with-li-5m03-mt9p031-camera-support/]]
После удачного завершения компиляции вы получите в директории "buildroot/output/images":
- MLO – U-Boot SPL first stage bootloader (мы используем свой!);
- u-boot.img – U-Boot 2011.12 binary (мы используем свой!);
- uEnv.txt – простой файл с параметрами U-Boot (мы используем свой!);
- uImage – ядро Linux 3.2.8 с поддержкой 1ГГц;
- rootfs.tar – образ файловой системы Root Filesystem image;
===== Особенности сборки =====
==== Ядро Linux 3.2.8 ====
Ядро Linux 3.2.8 в данной конфигурации поддерживает:
* ARM Cortex-A8 1ГГц
* Сеть Ethernet
* X11
Что ядро //не поддерживает// пока:
* графический ускоритель SGX 530
* глобально уникальный МАК адрес передается в ядро, но не назначается сетевому контроллеру
Если вам действительно нужна поддержка 3D, то для данного ядра придется вручную скомпилировать необходимые модули. Инструкции описаны здесь: [[http://listas.gnu.org.ve/pipermail/powervr-devel/2012-September/000036.html]]
Как назначить МАК адрес сетевому контроллеру при инициализации в драйвере можно портировать из ядра 3.0.17 для модуля BlueShark v4.2
==== Файловая система ====
В данном случае выполняется компиляция консольной версии файловой системы. Если вам требуется графическая оболочка, то необходимо включить GUI с помощью команды "make menuconfig" и выполнить компиляцию снова.
В файловую систему включены пакеты:
* Media-ctl
* Yavta
* OpenCV 2.3.1
* MPlayer
* FFmpeg
* GStreamer
===== Подготовка окружения =====
1) Скачайте ARM GNU/Linux EABI кросс-компилятор [[https://sourcery.mentor.com/sgpp/lite/arm/portal/package9728/public/arm-none-linux-gnueabi/arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2|Sourcery CodeBench Lite 2011.09-70]] и распакуйте его в директорию /opt с правами суперпользователя (root):
tar xvfj /path/to/arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt
2) для компиляции вам потребуются также утилиты git, texinfo (возможно они уже установлены в системе)
sudo apt-get install git texinfo
===== Сборка =====
Скачаем сам buildroot (обратите внимание, что это не официальная версия buildroot, а лишь локальная версия от Max Galemin):
git clone git://github.com/MaxGalemin/buildroot.git
cd ./buildroot
Исходная версия buildroot не содержит поддержки архитектуры SomIQ-AM37, поэтому скачаем дополнительный патч и добавим её в buildroot:
wget http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/buildroot-2012.02-mg01.1.patch
patch -p1 < buildroot-2012.02-mg01.1.patch
Настроим конфигурационные файлы buildroot на архитектуру Beagleboard-XM, но в ядре по умолчанию будет включена поддержка SomIQ-AM37, поэтому полученный образ ядра будет работать на SomIQ-AM37.
make beagle_xm_full_defconfig
ПРИМЕЧАНИЕ: во время тестовой сборки возникла ошибка компиляции "mc"-Midnight Commander. Если вы испытаваете такую же проблему, то выключите его из конфигурации buildroot с помощью команды "make menuconfig" в разделе "Shell and utilities".
ПРИМЕЧАНИЕ: если компьютер, на котором выполняется компиляция имеет многоядерный процессор, то имеет смысл ускорить компиляцию добавив специальные опции в конфигурацию. Для этого в корневой файл Makefile добавьте следующую строку (в данном примере "2" - Core2 DUO с двумя физическими ядрами):
export BR2_JLEVEL:=2
Сама компиляция выполняется командой make:
make
Длительность процесса компиляции зависит от скорости интернета и производительности компьютера, на котором выполняется компиляция.
===== Готовые файлы =====
Если у вас нет возможности/времени для скачивания и компиляции образов вы можете воспользоваться готовыми результатами компиляции:
^ Файл ^ Размер ^ Примечания ^
|[[http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/MLO.256|MLO.256]] | 42k | Для SomIQ-AM37 (256M) |
|[[http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/MLO.512|MLO.512]] | 41k | Для SomIQ-AM37D (512M) |
|[[http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/u-boot.img.256|u-boot.img.256]] | 275k | Для SomIQ-AM37 (256M) |
|[[http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/u-boot.img.512|u-boot.img.512]] | 275k | Для SomIQ-AM37D (512M) |
|[[http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/uEnv.txt|uEnv.txt]] | 86B | |
|[[http://mentorel.ru/downloads/somiq-am37/buildroot-2012.02/uImage|uImage-3.2.8]] | 4.2M | |
|[[https://github.com/downloads/MaxGalemin/buildroot/rootfs.tar.gz|rootfs.tar.gz]] | 3.7M | Взято с blog.galemin.com |
|[[https://github.com/downloads/MaxGalemin/buildroot/rootfs_full.tar.gz|rootfs_full.tar.gz]] | 62M | Взято с blog.galemin.com |