Задача сдедующая: необходимо за время меньшее чем 1с от подачи питания запустить ядро линукса и легкое приложение( рисующее нечто во фреймбуфер). Кто-нибудь чем-либо подобным занимался? Вобщем интересны любые мнения, комментарии.
Обойтись без ядра линукса не вариант, нужно будет будет задействовать уарт, ethernet, Cамому с нуля запилить весь функционал в standalone прошивке без ядра не считаю выполнимой задачей
Как вариант рассматриваю использовать за основу u-boot, тогда возможно можно ядро не грузить, но не уверен что там реализовано управление графикой.
За какое время может стартануть ядро в минимальном конфиге с уартом и сетью , как считаете?
Вариант тут один - отключать все лишнее в убуте и ядре (включая вывод лога в уарт). Модули ядра всегда инициализируются последовательно друг за другом, за 1 сек - сомнительно что ядро успеет проинициализироваться, надо пробовать.
Для быстрой загрузки ядра u-boot надо выкидывать. А использовать простейший загрузчик, который считает ядро из NAND\SD c использованием DMA и передаст ему управление.
Это лог платы SAM9G45. 2 секунды грузиться ядро.
За 5 секунд уже загружен сервер и грузиться GUI.
В качестве загрузчика выступает Bootstrap от Атмела - там чтение ядра с SD использует DMA.
Гугл знает отличную пдфу - Embedded Linux optimizations pdf.
Также гуглиться по fast boot linux.
Из последней можно найти 300 ms boot of Linux and shell on OMAP3530... Сложно это всё ))) но можно...