Содержание
Buildroot 2012.02 for Beagleboard-xM
За основу взяты инструкции от 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 кросс-компилятор 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
Длительность процесса компиляции зависит от скорости интернета и производительности компьютера, на котором выполняется компиляция.
Готовые файлы
Если у вас нет возможности/времени для скачивания и компиляции образов вы можете воспользоваться готовыми результатами компиляции:
Файл | Размер | Примечания |
---|---|---|
MLO.256 | 42k | Для SomIQ-AM37 (256M) |
MLO.512 | 41k | Для SomIQ-AM37D (512M) |
u-boot.img.256 | 275k | Для SomIQ-AM37 (256M) |
u-boot.img.512 | 275k | Для SomIQ-AM37D (512M) |
uEnv.txt | 86B | |
uImage-3.2.8 | 4.2M | |
rootfs.tar.gz | 3.7M | Взято с blog.galemin.com |
rootfs_full.tar.gz | 62M | Взято с blog.galemin.com |