Компания Make Linux сообщила
о создании одного из самых быстрозагружаемых окружений Linux - от
начала загрузки до запуска рабочей командной оболочки на основе BusyBox
тратится всего 300 мс. Загрузка была продемонстрирована на плате Beagle
Board, снабженной процессором 720 MHz ARM Cortex-A8, SoC OMAP3530 и
NAND flash-памятью. Кроме подготовки базового Linux-окружения,
обеспечивающего минимальное время загрузки на стандартных встраиваемых
системах, также была поставлена задача подготовки программной платформы
для создания более функциональных систем, построенных поверх
быстрозагружаемой основы.
Процесс загрузки был сведен к следующим стадиям:
- 330 мс требуется на первичную инициализацию оборудования
после включения питания. В случае горячего перезапуска (reset) на
инициализацию уходит 70 мс. После этой фазы управление передается
непосредственно загрузчику;
- 237 мс тратится на загрузку образа системы размером 1.5 Мб с NAND Flash. Скорость загрузки составляет примерно 6 Мб/сек;
- Запуск кода производится за 60 мс или 43 миллиона
циклов CPU (для более быстрых процессоров время выполнения будет
меньше, но число циклов является постоянной величиной);
- Как видно из лога загрузки, наибольшее время тратится на копирования прошивки из Flash в оперативную память.
Состав прошивки:
- Загрузчик: оптимизированный x-loader, без задействования u-boot (на выполнение U-Boot уходит более 400 мс);
- Linux-ядро версии 2.6.32 из пакета DVSDK 3.01. Ядро
использовано в минимальной конфигурации, размер собранного ядра
составляет примерно 900 Кб. (В процессе обсуждения
высказано мнение, что подобное урезанное ядро мало подходит для
выполнения реальных задач. Например, в представленной сборке отключен
сетевой стек и другие важные функции, оставлен только самый минимум,
необходимый для запуска командной оболочки. С другой стороны, ранее уже
были представлены
Linux-системы, на загрузки и запуск Qt-приложения в которых уходит
примерно одна секунда, из которой 400 мс уходило на работу U-Boot);
- Пользовательское программное обеспечение: статически собранный BusyBox v1.16.2 c оболочкой hush. Размер примерно 600 Кб.
- Корневая файловая система была интегрирована в образ Linux-ядра;
- Размер ядра и вмонтированной в него файловой системы составил 1.5 Мб.
Источник
|