Comments 24
Еще бы кто-нибудь сделал серию по формированию файла Device Tree с глубоким погружением, цены бы такому человеку не было бы…
Короче говоря, хотелось бы ликбез какой-то с чего начинаем, какие параметры вписываем, как оно взаимодействует с ядром. Есть несколько источников в сети на elinux где кое-что описано, но общего понимания всего равно нет…
Добавлю: сейчас наш процесс создания такого файла — это метод проб и ошибок, бессистемный.
Не так уж много делают новых плат — да и зачем.
Взять к примеру HDMI — его щас лепят на все демо платы. Проблема с ним в том, что начиная с определенного времени надо заносить денюжку организации, которая владеет стандартом (неслабую надо отметить). Без лицензии тебе не продадут мост LVDS-HDMI. Есть запасы старых чипов, которые не требуют лицензии, но на серьезном серийном производстве полагаться на запасы нельзя (они имеют свойство заканчиваться). При этом на наш чип «православных» Display Port выходов никто не делал. Вот и приходится заниматься этой разработкой вслепую, методом проб и ошибок…
В общем, жалко что никакого готового материала нет, надо и правда подумать о создании своего…
Я думаю это уже не в рамках комментариев к хабру надо общаться. Чип у нас Atmel SAMA5D44 на первой итерации, после пробы пера хотим поменять на TI Cortex A-9 (пока еще не выбрали какой конкретно).
stm32mp1 не хотите попробовать?
Может быть вместо BR2_EXTERNAL_my_tree_PATH имелось ввиду BR2_EXTERNAL ?
По поводу скриптов автоматизации. К сожалению, вам доступны в скриптах далеко не все переменные Buildroot. Вам доступны те переменные, которые вы передадите в скрипт (см. BR2_ROOTFS_POST_SCRIPT_ARGS)
А ещё вам доступны environment variables:
BR2_CONFIG: the path to the Buildroot .config file (полный путь к файлу .config включая имя файла например /home/I/buildroot/.config)
CONFIG_DIR: the directory containing the .config file, and therefore the top-level Buildroot Makefile to use (which is correct for both in-tree and out-of-tree builds)
HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 18.6.2, “generic-package reference”
BUILD_DIR: the directory where packages are extracted and built
BINARIES_DIR: the place where all binary files (aka images) are stored
BASE_DIR: the base output directory
Если вам в вашем скрипте все же нужны другие переменные из файла .config можете попытаться выполнить
source .config
тогда вы сможете загрузить те переменные, полное значение которое прописано в файле .config
Для переменных, которые необходимо вычислить это не сработает. Пример переменной, которая загрузится без проблемBR2_SFTP="sftp"
Пример переменной, которая не будет загруженаBR2_DL_DIR="$(TOPDIR)/dl"
Добавил в packages Config.in, свой пакет, туда же Config.in и mk-файл, однако нигде не появились мои пакеты
В чем может быть проблема?
Buildroot — часть 2. Создание конфигурации своей платы; применение external tree, rootfs-overlay, post-build скриптов