====== 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 |