Ссылка на архив
27.02.2015
https://yadi.sk/d/39jyACgDevz7A
Разархивировать и зайти в корень исходников buildroot
tar -xjvf buildroot-2014.08-sk.tar.bz2
cd buildroot-2014.08-sk
Для облегчения начальной настройки есть 4 готовых конфига
make imx6sk_min_defconfig
минимальный конфиг - загрузчик, ядро и корневая система состоящая только из компонентов busybox и kobs-ng на случай переноса на nand (он есть во всех 4 варианта для чего - чуть ниже)
make imx6sk_gst_defconfig
система c gstreamer и минимальным набором плагиннов достаточным для работы с adv7180
make imx6sk_qt5gst_defconfig
система с Qt 5.3.2 , настроенная на работу поверх фреймбуфера без оконной системы с поддержкой OpenGL ES2 и VPU для декодирования видео, нет qtwayland и qtwebkit2 - нормальной работы в такой связке мне получить пока не удалось, но на носу релиз Qt 5.4, там по слухам должно достаточно хорошо работать.
Есть gdb-server и sftp для отладки в Qt Creator, еще там сделана русификация как консоли так и Qt, на USB клавиатуре переключение раскладки клавишей caps lock, автомонтирование съемных носителей с поддержкой ntfs и exfat (в /media/usb0, usb1 и тд). Собранные примеры Qt и пара демок находятся в /root/examples
make imx6sk_xbmc_defconfig
минимальная система с XBMC последней версии из ветки для i.mx6
https://github.com/xbmc-imx6/xbmc
!!! ВНИМАНИЕ !!!
Нужно выбрать cвою плату и некоторые параметры
make menuconfig
далее опишу что я добавил в настройки buildroot и на что надо обратить внимание
Kernel --->
adv7180 ain_num (1 - default) --->
количество аналоговых входов с которых нужно получать видеоданные, по умолчанию 1, история описана тут
http://starterkit.ru/html/index.php?name=forum&op=view&id=23575&num=2#23709
Bootloaders --->
Starterkit i.MX6 board (Hola-PC + VCEB) --->
ВЫБЕРИТЕ из выпадающего меню вариант СВОЕЙ ПЛАТЫ
в данном примере - плата Hola-PC (SOLO) с плагом видеозахвата Hola-VCEB
fb0 mode (hdmi,1280x720) --->
видеорежим и тип интерфейса для fb0, в данном примере преобразуется в параметр ядра
video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
есть все варианты которые встречаются на местных платах
fb1 mode (ldb,LDB-XGA) --->
то же самое только для fb1, в данном случае получится строка в параметрах
video=mxcfb1:dev=ldb,LDB-XGA,if=RGB24
[*] enable dmfc=3 for HD video playback
добавляет параметр dmfc=3 для воспроизедения видео на экране с высоким разрешением, на холах я бы рекомендовал всегда его выставлять.
[ ] Enable HW watchdog
включает поддержку аппаратного сторожевого таймера в u-boot, а так же добавляет в корневую фс скрипт запуска демона для его постоянного сброса, в buildroot есть свой параметр - его трогать не надо, этой галки достаточно.
Для плат с процессорами i.mx6 quad/dual появляется дополнительный параметр
[ ] switch DDR to 528 MHz (WARNING: don't use, unstable) (NEW)
Павел не гарантирует что память будет работать на частоте 528M без сбоев, поэтому по умолчнию 400M. На данный момент работают только первые ревизии SK-IMX6Q и текущие SK-iMX6D-SODIMM, нет гарантии что следующая партия не начнет сбоить, сделал только для того если кому-то хочется поэкспериментировать.
После выхода с сохранением конфигурации запустите сборку
make
ПРИМЕЧАНИЕ: если вы изменили параметры в подменю
Bootloaders --->
после сборки корневой системы, нужно пересобрать загрузчик. Для этого в корне есть скрипт - он удаляет собранные исходники загрузчика и пересобирает его с "нуля" - распаковывает из архива.
./uboot_rebuild.sh
В процессе сборки запускаются скрипт, он прописан тут
System configuration --->
(board/starterkit/imx6sk-min/post-build.sh) Custom scripts to run before creating filesystem images
этот скрипт копирует конфиги, настройки, скрипты в корневую после окончания сборки всех выбранных компонентов
образа диска нужно записать в Linux на SD карту
sudo ./mk-sd.sh /dev/sdb
Для плат с nand можно в любое время сделать копию системы с SD на nand, после загрузки с SD запустите скрипт в /root
/root/root2nand.sh
для этих плат собираются два варианта u-boot - для SD (u-boot.imx)
и NAND (u-boot-nand.imx), скрипт скопирует корневую и запишет новый загрузчик в NAND. По умолчанию деление NAND на разделы такое
#define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:16M(boot)," \
"512M(rootfs),-(userdata)"
под корень используется только 512M, там же в /boot лежат DTB и ядро. Можете исправить если нужно в конфиге u-boot
include/configs/sk_imx6.h или oem_imx6.h - в зависимости какая плата,
раскладка разделов передается через параметры загрузки ядра, так что в DTS править не надо - все делается в конфиге убута
Если нет на хост-системе картридера или нет возможности грузиться с SD на SODIMM, в корне buildroot есть архив с подобием MFG для Linux, только круче :) разархивируйте
sudo tar xf imx-usb-loader.tar.gz -C /
теперь если подключить любую плату через USB OTG порт в режиме serial downloader (смотрите мануал для своей платы - как переводить ее в режим обновления из MFG) в нее автоматом зальется прошивка с initramfs и на хост-системе появятся два устройства USB - коммуникационное (ttyACM0) через которое ее можно использовать
как преобразователь USB <-> Serial 3.3 В (сделано перенаправление ttyGS0 <--> ttymxc0) и как USB mass storage для записи образа на SD (вставьте карту после присоединения USB кабеля) или в случае sodimm на встроенную eMMC.
Логин:пароль на всех 4 вариантах root:root, можно сменить пароль или убрать его
System configuration --->
(root) Root password
Пакеты специфичные для i.mx6 находятся тут
-> Target packages
-> Hardware handling
-> Freescale i.MX libraries
В dl лежат ядро и убут, остальное само скачается :)
В u-boot специфичный для плат код в директории board/starterkit, в корне скрипт build.sh - там есть пример конфигурации всех плат