Задать вопрос
@Siegurd1

Какие есть способы сокращения времени загрузки Debian для SoC (RPi, Beagleboard, BananaPi, etc)?

Столкнулся с интересной задачей. Нужно запустить С++ приложение на SoC (RPi, Beagle, BananaPi, etc) за максимально короткое время (5-7 секунд) после подачи питания (условие - прогрузка файловой системы и появление необходимых девайсов типа /dev/spi0.1 и тд). На удивление обнаружил, что все разработчики популярных одноплатников напихивают в свои дистрибутивы для пользовательского сегмента очень много разнообразного софта и поддерживают только эти дистрибутивы. В итоге юзер получает ту же вольфрам математику на RPi zero которая, мягко скажем будет тупить, а плата будет грузиться минуты три. В то же время мне не удалось обнаружить хоть какого-то мало мальски свежего и описанного проекта для применения в области встраиваемых систем (embedded) хотя на форумах пишут, что не особо напрягаясь можно сократить время загрузки Debian для этих SoC до нескольких секунд. В сети есть видео где умелец загружает Rpi3 за ~2 секунды, но какого-то универсального руководства по правке ядра мне увидеть не удалось.
Интернет предлагает buildroot и yocto для применения во встраиваемых системах, но поигравшись 3 недели безудержных перекомпилирований ядра с buildroot с перспективой заниматься этим каждый раз после выхода новой версии C++ программы - забросил эту затею (практиковался на одноядерном PocketBeagle) хоть и добился времени загрузки платы за 4 секунды (до login prompt).
С yocto совсем не знаком и неизвестно удастся ли запустить на плате.
Поэтому третьим вариантом занялся правкой systemd на том дистрибутиве Debian который предоставляет разработчик, но поотключав на мой взгляд ненужные сервисы время загрузки сократилось только с 120 до 20 секунд, что в 3-4 раза больше требуемого времени. Дальше я так понимаю нужно уже пересобироть ядро с выбрасыванием ненужных программ/сервисов/драйверов из него но только какие сервисы и за что отвечают чтобы их выбрасывать и тем самым сократить время загрузки совсем не понятно. Есть ли у кого-то опыт в этом?
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Интернет предлагает buildroot и yocto для применения во встраиваемых системах, но поигравшись 3 недели безудержных перекомпилирований ядра с buildroot с перспективой заниматься этим каждый раз после выхода новой версии C++ программы - забросил эту затею (практиковался на одноядерном PocketBeagle) хоть и добился времени загрузки платы за 4 секунды (до login prompt).


Собственно, это и есть решение. Нужно только настроить CI/CD
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы