Есть одна кастомная плата, на ней установлены довольно специфические контроллеры (драйвера в процессе написания).
На плате SoC, для которого есть тулчейн, патченный uboot, патченное ядро и rootfs.
Хочу попробовать заменить имеющуюся rootfs на OpenWrt. Почитал wiki, не выглядит особо сложной задачей. Но не очень понятно, с чего начать. Поддержки этого SoC в OpenWrt нет, так как в роутеры такое не ставят, так что полагаю, нужно начать с этого.
Если кто-то здесь добавлял поддержку нового оборудования в OpenWrt, подскажите, с чего мне начать. И стоит ли вообще ставить OpenWrt не на роутеры (я хочу поставить в первую очередь из-за пакетного менеджера и системы инициализации).
Кто-нибудь пробовал?
Я нашёл такую статью, где предлагается собирать в два прохода, но этот способ у меня не сработал, судя по гуглу, вероятно, из-за ldd. Вот вывод:
Мне очень нравится libpeas, но есть одна проблема. Хочу использовать libpeas в embedded (целевая система имеет 16Mb NOR Flash). Казалось бы, в чём проблема?
А проблема в том, что в зависимостях у libpeas находится gobject-introspection, а у него в зависимостях питон.
Никакой питононенависти, но питон просто слишком жирный, чтобы влезть на целевую систему. К тому же, я попробовал его собрать, он собирался целый час и так и недособрался, потому что после установки половину скриптов выполнил, а на вторую половину ругнулся: ImportError: No module named _collections.
Вопрос в том, можно ли как-то исключить зависимость от питона? Или есть какой-то маленький интерпретатор для встраиваемых систем?
В llvm есть встроенный ассемблер. Насколько я понимаю, llvm-as — это не то, что мне нужно, а интересовать меня должен llvm-mc. Я могу им компилировать ASM так:
llvm-mc filename.S -filetype=obj -o filename.o
А как использовать его для компиляции ядра? Пытаюсь сделать make AS=llvm-mc, а мейк пытается запустить as. Открываю мейкфайл, нахожу переменную AS, изменяю её значение на «llvm-mc», а мейк всё равно пытается запустить as. ЧЯДНТ?
(не мучиться и использовать as из состава binutils не предлагать)
Где бы раздобыть такой RSS, где публиковались бы новости о новых релизах и LTS релизах ядра? Можно без подробностей, главное — быстро.
Я не буду против, если там также будут и другие новости про ядро: новости об уязвимостях ядра, новости об улучшениях в конкретных подсистемах ядра (сетевой стек, графический стек, файловые системы), новости о не мейнстримовых драйверах и поддержке оборудования, новости о портировании и успешном запуске ядра на каждом тостере, да и вообще любые новости о ядре (не о юзерспейсе). Но главное — ничего про дистрибутивы, ничего про GNU, ничего про софт под Linux.
Он должен быть оперативным (ЛОР не подходит, он так устроен, что сюда всё приходит с задержкой) и информативным (LKML не подходит, там слишком много сообщений о всяком-разном).
Вероятно, делаю всё совсем неправильно. Вот код на Vala:
int fd = open("/dev/fb0", O_RDWR);
ioctl(fd, FBIOGET_VSCREENINFO, &vinfo);
long screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
uchar[] data = (uchar[])mmap((void *)0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
Всё выполняется ровно до строчки с mmap. Причём open совершенно точно возвращает правильный fd, и ioctl получает правильный vinfo, так что даже scrensize вычисляется верный.
Но вот на mmap ругается:
GLib-ERROR **: gmem.c:100: failed to allocate 4294967295 bytes
Причём аналогичная программа на C работает нормально. Явно я где-то накосячил.
Или есть какой-то хитрый GLib-специфичный способ это сделать? Может, при помощи GIO?
Киньте ссылкой на патч для кастомного лого во фреймбуфере при загрузке ядра!
Точно помню, такой патч был. Помню, в menuconfig появлялся пункт меню «Custom 224-color logo», может кто-то ещё помнит? Во времена 2.6 дело было. Он ещё актуален, не протух? А то вообще ничего нагуглить не могу.
Не хочу пингвина затирать, чтобы своё лого добавлять.
Кремниевые пластины обычно круглые. Потом их режут на маленькие прямоугольники. А потом закатывают в пластик.
А почему бы не производить флеш-память, чтобы один диск — это была бы одна целая кремниевая пластина (или даже бутерброд из нескольких кремниевых пластин)? Нужно просто разместить много NAND-флеш на пластине, добавить контроллер, вывести из него интерфейс (позолоченные контакты, как это делают на SD-картах), а потом закатать в пластик. Получится красивый диск. Конечно, диск только удобен, если ему нужно вращаться, а так лучше найти квадратные пластины. Но всё равно, почему так никто не делает? Слишком много брака было бы?
Компилятор определяется правильно, но потом запускается pkg-config и находит библиотеки с хостовой системы:
checking for mipsel-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for pixman_version_string in -lpixman-1... no
checking for posix_memalign... yes
checking for sigaction... yes
checking for alarm... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for mprotect... yes
checking for getpagesize... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking for feenableexcept in -lm... yes
checking whether FE_DIVBYZERO is declared... yes
checking for gettimeofday... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for library containing sqrtf... -lm
checking for thread local storage (TLS) support... __thread
checking for pthreads... yes
checking for __attribute__((constructor))... yes
checking for __float128... no
checking for __builtin_clz... yes
checking for GCC vector extensions... yes
checking for PNG... yes
Естественно, слинковать библиотеки с хостовой системы при кросс-компиляции невозможно, потому приходится их ручками выключать.
Я что-то неправильно делаю, да? Нужно завести mipsel-linux-pkg-config, который будет находить только нужные библиотеки?
Вообще такое в природе существует?
Желательно, конечно, чтобы было такое простое устройство — с одной стороны VGA, с другой Ethernet, подключаешься к нему по HTTP (весь этот софт ведь простой HTTP использует, да?) и смотришь стрим видео (ещё и выбираешь разрешение и качество) в зависимости от соединения.
Но это всё фантазии. Что есть из реального?
Кстати, Matrox вроде бы что-то выпускает. Кто пользовался?
Какие есть наиболее актуальные книги по GTK+3? Предпочтительно не печатные издания, а электронные, так как их легче обновлять до последней версии.
Конечно, хочется GTK+ 3.20, но любая пойдёт.
Sending build context to Docker daemon 89.09 kB
Step 1 : FROM ubuntu:xenial
Pulling repository docker.io/library/ubuntu
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/ubuntu/images. You may want to check your internet connection or if you are behind a proxy.
Или такое (редко):
Sending build context to Docker daemon 89.09 kB
Step 1 : FROM ubuntu:xenial
Pulling repository docker.io/library/ubuntu
Get https://registry-1.docker.io/v1/repositories/library/ubuntu/tags/xenial: dial tcp: lookup registry-1.docker.io on 127.0.1.1:53: read udp 127.0.0.1:36340->127.0.1.1:53: i/o timeout
Через браузер эти линки грузятся, но медленно. Может, кто-то знает, где в докере настраиваются таймауты?
В каком-то музее видел какое-то старьё древнее — то ли клавиатуру, то ли целый микрокомпьютер. Запомнился этот девайс мне только необычными функциональными клавишами. Точное количество и конфигурацию я не помню. Их было 16 или 17 штук и сгруппированы они так:
При этом клавиша [F0] была на месте [Esc], а самой [Esc] не было вообще.
Я вообще не могу нагуглить клавиатур с клавишей [F0]. Единственное, что я нашёл — BBC Micro, но у него функциональных клавиш всего 10 и [Escape] имеется.
Помогите нагуглить эту странную клавиатуру.
Есть большое количество небольших картинок, на каждой из них отчётливо написана одна короткая фраза. Шрифт довольно крупный, в основном Open Sans Condensed, но не всегда. Язык в основном русский, но встречается также английский, турецкий, армянский, грузинский, японский, арабский, фарси, японский, китайский, корейский, тайский (менее 1%).
Задача — распознать текст и установить фразу с каждой картинки в качестве имени файла. Реально?
Совсем простой. Чтобы там был распаян проц, RAM и NAND. Естественно, с нужным обвесом. Естественно, чтобы ещё и питание всего этого было нормальное (например от 5V БП или USB).
Буду подключать TFT LCD. Так что если на плате будет разведён 40pin 0.5mm pitch FPC, будет плюсом. И RTC ещё нужен, какой-нибудь DS1307 подключать не хочу.
Есть такие? Pi Zero не предлагать.