Технический вопрос: как можно организовать работу с ARM/MIPS устройствами (у меня 8 штук, все разные) без попоболи?
У x86 всё очень просто, совместимо, есть ACPI и другие API между железом и ОС. Всё нормально развивается и работает с полпинка в основном ведре.
У ARM/MIPS мейнлайн-ведром нормально поддерживается только малинка и ещё пара тестовых плат, которые вообще никакого отношения не имеют к реальным устройствам (ну может ещё пара нексусов и то только частично).
В *wrt и роутерами вообще лажа: изменения не переносятся в основное ядро, дрова тоже. В результате максимум можно скомпилять древнее ведро с нужными модулями. С другими устройствами часто тоже так.
Загрузка - тот же гемор: куча своих проприетарных загрузчиков, использующих вместо стандартной grub-схемы каталога с ведром, initrd и конфигом с модулями, какую-то дичь вроде запаковки kernel+initrd в какой-нибудь специфичный контейнер. Uboot тоже хорош: часто в основной ветке конкретное устройство не поддерживается (либо только начальная поддержка) и надо искать патченный uboot на конкретной модели. Но фиг с ним с uboot: один раз поставил и работает (обновление и добавление функций больше загрузки обычно не нужно), основное проблема с ядром.
Про поддержку графического ускорения (если на плате есть графический вывод) я вообще молчу: это просто трэш. В лучшем случае есть кривой opengl, а в худшем - тормозный фреймбуфер, который жопой писали.
С MIPS часто всё ещё хуже.
Ещё больше ситуация осложняется тем, что нигде не выкладывают tgz/контейнер/образ виртуалки с установленными нужными версиями софта, компиляторов, ядра и т.д. для конкретной железки. Если бы была такая практика, то поддерживать ARM/MIPS девайсы было бы куда проще.
С чем связана такая жопа в мире альтернативных процов? Или я что-то не понимаю, существует какой-нибудь форум, где пони, дружба, радуга и вообще ARM рулит?