|
|
|
Buildroot: создание образа Orange Pi, realtime Xenomai |
|
|
|
Jul 1 2018, 10:59
|
Местный
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458
|
Здесь есть рядом похожая тема Buildroot: создание образа и перепрошивка i.MX6ULL, но ... не хочется сорить - там немного о другом. Вопрос: в BuildRoot (последних) есть дефаултные конфигурации: Код [olej@xenix buildroot-master]$ make list-defconfigs | grep orangepi orangepi_lite_defconfig - Build for orangepi_lite orangepi_one_defconfig - Build for orangepi_one orangepi_pc2_defconfig - Build for orangepi_pc2 orangepi_pc_defconfig - Build for orangepi_pc orangepi_pc_plus_defconfig - Build for orangepi_pc_plus orangepi_plus_defconfig - Build for orangepi_plus orangepi_prime_defconfig - Build for orangepi_prime orangepi_win_defconfig - Build for orangepi_win orangepi_zero_defconfig - Build for orangepi_zero orangepi_zero_plus2_defconfig - Build for orangepi_zero_plus2 Заказываем дефаултный конфиг: Код [olej@xenix buildroot-master]$ make orangepi_one_defconfig mkdir -p /home/olej/buildroot-master/output/build/buildroot-config/lxdialog PKG_CONFIG_PATH="" make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \ obj=/home/olej/buildroot-master/output/build/buildroot-config -C support/kconfig -f Makefile.br conf /usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/olej/buildroot-master/output/build/buildroot-config -DCONFIG_=\"\" /home/olej/buildroot-master/output/build/buildroot-config/conf.o /home/olej/buildroot-master/output/build/buildroot-config/zconf.tab.o -o /home/olej/buildroot-master/output/build/buildroot-config/conf # # configuration written to /home/olej/buildroot-master/.config # А дальше правим конфигурации под свои потребности... Образ .img собран, накатан на SD-карточку, загружен... Вся загрузка через UART идёт на отладочную консоль ... до login и далее ... Но локальный монитор при этом глухо не инициализируется, только UART-консоль. В обсуждениях (на вопрос "куда копать") пишут: Цитата В сторону драйвера дисплея, в mainline ядре поддержки Н3 до сих пор нет. Сейчас пока всё делается через U-Boot, он сам настраивает HDMI, создает под это фреймбуфер и передает его ядру в готовом виде, не помню как эта технология называется. Ядро работает только с /dev/fb*. посмотри есть они у тебя? Может кто прояснить происходящее? Как называется эта технология? ... Куда копать?
|
|
|
|
|
Jul 4 2018, 03:21
|
Профессионал
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439
|
Цитата(Olej @ Jul 1 2018, 14:59) Здесь есть рядом похожая тема Buildroot: создание образа и перепрошивка i.MX6ULL, но ... не хочется сорить - там немного о другом. Вопрос: в BuildRoot (последних) есть дефаултные конфигурации: Код [olej@xenix buildroot-master]$ make list-defconfigs | grep orangepi orangepi_lite_defconfig - Build for orangepi_lite orangepi_one_defconfig - Build for orangepi_one orangepi_pc2_defconfig - Build for orangepi_pc2 orangepi_pc_defconfig - Build for orangepi_pc orangepi_pc_plus_defconfig - Build for orangepi_pc_plus orangepi_plus_defconfig - Build for orangepi_plus orangepi_prime_defconfig - Build for orangepi_prime orangepi_win_defconfig - Build for orangepi_win orangepi_zero_defconfig - Build for orangepi_zero orangepi_zero_plus2_defconfig - Build for orangepi_zero_plus2 Заказываем дефаултный конфиг: Код [olej@xenix buildroot-master]$ make orangepi_one_defconfig mkdir -p /home/olej/buildroot-master/output/build/buildroot-config/lxdialog PKG_CONFIG_PATH="" make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \ obj=/home/olej/buildroot-master/output/build/buildroot-config -C support/kconfig -f Makefile.br conf /usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/olej/buildroot-master/output/build/buildroot-config -DCONFIG_=\"\" /home/olej/buildroot-master/output/build/buildroot-config/conf.o /home/olej/buildroot-master/output/build/buildroot-config/zconf.tab.o -o /home/olej/buildroot-master/output/build/buildroot-config/conf # # configuration written to /home/olej/buildroot-master/.config # А дальше правим конфигурации под свои потребности... Образ .img собран, накатан на SD-карточку, загружен... Вся загрузка через UART идёт на отладочную консоль ... до login и далее ... Но локальный монитор при этом глухо не инициализируется, только UART-консоль. В обсуждениях (на вопрос "куда копать") пишут: Может кто прояснить происходящее? Как называется эта технология? ... Куда копать? Я самый простой orangepi попробовал. Не строил ничего. Скачал их образ с интернета. Не работает команда shutdown -h now. Она ребут делает. Попробовал смонтировать RAM диск. После рестарта все, что писал сохраняется в директории. То есть он сделал вид, что монтирует, а сам тупо в директорию пишет. Забил. Оно сырое. Nano pi NEO немного дороже, но гораздо стабильнее. Я решил не тратить время на сырой софт.
|
|
|
|
|
Jul 4 2018, 16:39
|
Местный
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458
|
Цитата(Tarbal @ Jul 4 2018, 06:21) Я самый простой orangepi попробовал. Не строил ничего. Скачал их образ с интернета. Не работает команда shutdown -h now. Она ребут делает. Попробовал смонтировать RAM диск. После рестарта все, что писал сохраняется в директории. То есть он сделал вид, что монтирует, а сам тупо в директорию пишет. Забил. Оно сырое. Nano pi NEO немного дороже, но гораздо стабильнее. Я решил не тратить время на сырой софт. Это всё (Orange Pi vs Nano Pi ... или vs Rapsberry Pi) к самому типу SBC/SoC не имеет никакого отношения: - для того же Orange Pi есть ... ну не меньше 2-х десятков авторов-технологий сборки OS, и каждая ведёт себя по-разному - есть постоянно обновляемые сборки от независимого проекта Armbian - очень приличные сборки и очень умный проект ... не в пример "оригинальной" сборке от производителя Orange Pi - я сам с помощью BuildRoot, простейшими усилиями, собирал 3-4 вариантов минимальных конфигураций CLI Linux ... всё очень адекватно.
|
|
|
|
|
Jul 12 2018, 15:58
|
Местный
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458
|
Цитата(Tarbal @ Jul 5 2018, 04:37) Я самодельные сборки не хочу делать. Мой проект требует установки несокльких пакетов для работы с сетью и т.д.. Это никакие не самодельные сборки. А самые что ни на есть стандартные сборки Linux, когда системе сборки только указываются требуемые ядро, пакеты... а система сборки сама ownload с домашних страниц всех проектов их скачивает (исходники) и собирает. Большой плюс, что может собирать кросс-компиляцией (на x86 станет собирать образ для PPC). Цитата(Tarbal @ Jul 5 2018, 04:37) Каждый компилировать времени нет. А на дебиан или убунту, федору можно простой командой ставить. На "дебиан или убунту, федору" всё ставится пакетными системами , пакеты, которые компилируются ровно из тех же исходников (других в природе просто нет). Только пакетные дистрибутивы имеют размер раз в 10 больше, чем собранные под целевые требования (1Gb, к примеру, вместо 75Mb ). На сегодня размер - это вовсе уже мало для кого ограничивающий фактор, но в этих пакетных дистрибутивах (даже если это на ARM, типа Armbian) по умолчанию сконфигурированы 2-3 десятка демонов-сервисов, которые могут тупо без нужды нагружать систему ... или нужно щепетильно разбираться кого там из них нужно останавливать. P.S. как пример, ... смешно : практически во всех пакетных дистрибутивах устанавливаются и запускаются ... сервисы SMB ... "услужливо"
|
|
|
|
|
Jul 13 2018, 06:54
|
Знающий
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050
|
Цитата(Tarbal @ Jul 13 2018, 02:39) Сегодня размер не так критичен. производители телевизоров, медиаприставок, роутеров, видеорегистраторов и подобной нечисти дружно улыбаются при этой фразе.. не смешивайте продакшн и отладку.. Цитата(Olej @ Jul 1 2018, 13:59) Вся загрузка через UART идёт на отладочную консоль ... до login и далее ... Но локальный монитор при этом глухо не инициализируется, только UART-консоль. В обсуждениях (на вопрос "куда копать") пишут: Может кто прояснить происходящее? Как называется эта технология? ... Куда копать? видимо для начала посмотреть "а не выводит ли изображение u-boot?" раз уж он инитит hdmi, то и выводить наверно что-то может - логотип или картинку или просто строчки далее после загрузки системы посмотреть командой Код ls /dev существование устройств fb0/fb1 и подобных если их нет, то смотреть в конфиге ядра раздел поддержки графики на предмет фреймбуфера для этого АРМа если есть, то либо утилитой fbset смотреть текущие параметры либо копаться в каталоге /sys/class/graphics/fb0 возможно какого-то enable или blank не хватает.. в клиническом случае подебажить драйвер фреймбуфера, хотя бы момент старта, параметров и успешного выхода в конце инита.. ЗЫ да, и проверить - может надо через строку для ядра передать параметры для разрешения hdmi
|
|
|
|
|
Jul 13 2018, 08:07
|
Местный
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458
|
Цитата(Jury093 @ Jul 13 2018, 09:54) видимо для начала посмотреть "а не выводит ли изображение u-boot?" раз уж он инитит hdmi, то и выводить наверно что-то может - логотип или картинку или просто строчки U-boot выводит текстовый протокол своей загрузки, до момента загрузки ядра. Цитата(Jury093 @ Jul 13 2018, 09:54) далее после загрузки системы посмотреть командой Код ls /dev существование устройств fb0/fb1 и подобных Нет их, /dev/fb* - с самого начала проверено. Цитата(Jury093 @ Jul 13 2018, 09:54) ЗЫ да, и проверить - может надо через строку для ядра передать параметры для разрешения hdmi Каким образом "проверить"? Но всё это не самое главное в этой теме. А то, как средствами BuildRoot собрать hard realtime систему Xenomai Cobalt? Когда для патченья ядра под проект Adeos, патч ipipe, Xenomai в своих инструкциях используют не команду patch, а свой собственный скрипт патченья ... почти в 500 строк кода shell. Как это объяснить BuildRoot?
|
|
|
|
|
Jul 14 2018, 10:59
|
Местный
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458
|
Цитата(Tarbal @ Jul 14 2018, 07:08) Сегодня память стоит совсем недорого. Это точно. Тем более, что чипов памяти меньше какого-то лимита просто не становится на рынке. И этот лимит, минимум постоянно увеличивается. P.S. Не про RAM, но близкая аналогия: а вы попробуйте купить на рынке SD-карточку 4Gb ... не говоря уже про 2Gb. Я недавно пробовал . Не говоря уж о том, что 2Gb и 8Gb стоят примерно одинаковую цифру денег.
|
|
|
|
|
Jul 15 2018, 18:27
|
Профессионал
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439
|
Цитата(Olej @ Jul 14 2018, 14:59) Это точно. Тем более, что чипов памяти меньше какого-то лимита просто не становится на рынке. И этот лимит, минимум постоянно увеличивается. P.S. Не про RAM, но близкая аналогия: а вы попробуйте купить на рынке SD-карточку 4Gb ... не говоря уже про 2Gb. Я недавно пробовал . Не говоря уж о том, что 2Gb и 8Gb стоят примерно одинаковую цифру денег. Верно. А что касается эффективного использования памяти и других рессурсов, то я это тоже умею. Про массовое производство: В 1997 году я сделал иммобилайзер для автомобиля на 68HC05J1, который впоследствии продавался. Програмно исполнены RFID, I2C ну и вся логика. У него пол килобайта програмной памяти всего. На этой картинке справа внизу program transfer module. он сделан на PIC16C71 с 23 байтами памяти. Я, кстати, на этом же чипе сделал приемник модема FSK 1200/2200. Это при 1 мегагерце системном. Такое делают на DSP с 25-30 мегагерцами. Но сегодня развитие технологии разработки идет по пути как сделать дешевле, где работа и задержка по времени тоже имеют цену. Это я к тому, что я не от поиска легких путей выбираю такие решения. Делать устройство на минимуме ресурсов я тоже умею.
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|