Погружение в YOCTO


Решил приобщиться к прекрасному, и разобраться с такой системой сборки как yocta. Много слышал, но никогда не работал. Раньше работал только с системами BuildRoot. В т.ч. и OpenWRT. К билдруту привык, прозрачен, понятен, лёгок, быстро компилируется.
А тут... 60 гигов н жёстком диске, просто титан, компилируется простейшая сборка минимум час, тащит всё откуда может. Жесть, как она есть. И, узнать о проблемах, можно спустя час компиляции, не всё прозрачно и понятно сразу. В общем, с непривычки очень странно. Не все баги грепаются, какой рецепт сломался. Прозрачность своеобразная.
Ладно, может я не прав. В целом, для проекта, который мучаю, альтернатив yocto нет, поэтому продолжаем жрать кактус. Решил начать с маленького: собрать простой проект для BeagleBone Black, что на фото выше. Типа начать с простого проекта, потом научится его обмазывать и т.п. Попробовал несколько мануалов, нифига не работает!!! То есть, собирает, но не грузит (боль, печаль и унижение). Обратите внимание, что в сути проба мануала занимает рабочий день, с учётом парочки перекомпиляций и перепрошивки!
В результате Нашёл неплохой видеомануал, который хоть как-то гарантирует, что всё будет работать.
Делаю всё согласно мануалу, разумеется делаю тот чекаут, с того тага...
Для удобства есть текстовый мануал к видео. Чуток исправил, потому что местами бредятина. Но смысл такой:
$ git clone git://git.yoctoproject.org/poky bgbl $ cd bgbl $ git fetch --tags $ git checkout tags/yocto-3.1 -b my-yocto-3.1 $ source oe-init-build-env
Редактирую файл conf/local.conf:
remove '#' MACHINE ?= "beaglebone-yocto" add '#' #MACHINE ??= "qemux86-64" remove '#' comment following lines DL_DIR ?= "${TOPDIR}/downloads"66 : SSTATE_DIR ?= "${TOPDIR}/sstate-cache" TMPDIR = "${TOPDIR}/tmp" PACKAGE_CLASSES ?= "package_rpm package_ipk"
И дальше пускаю компиляцию:
$ bitbake core-image-minimal
Иииии, как вы думаете что? Мануал-то старый, ссылки все из гита не работают, и нифига не собирается...

Видно хреново, но смысл там в том, что он щемится по ссылкам гита и не находит их (при этом продолжает собирать). Я привык, что если есть tag в гите, то вероятнее всего он рабочий и можно использовать веки вечные. Проверил, сходил по ссылкам, реально проекты удалены (шлепок фейспалма).
Сейчас 6 раз пробую собрать уже с последнего тега...
Справедливости ради, могу сказать что проект OpenBMC для Aspeed 2500 у меня собрался почти с первого раза, и даже без проблем удалось его прошить в SPI-флешку и он успешно даже там запустился и работает. Но это готовый чужой проект, а хочется научится создавать свои проекты.

Aspeed 2500
|
</> |