Читая последнюю Новомодную версию (Выскочка 1.6 прямо сейчас), я видел следующую строку:
Добавленный initramfs-меньше поддержки начальной загрузки
Это означает, что шаг для initramfs может быть пропущен?
Время начальной загрузки будет быстрее, или система работают лучше?
initramfs, или, initrd, отвечает за настройку вашей корневой файловой системы перед загрузкой всей системы. Если у вас есть программный RAID, он настраивается в initrd. Если у вас есть шифрование всего диска, это обрабатывается в initrd. Некоторые драйверы хранилищ должны запускать программы из пользовательского пространства перед их использованием, поэтому они обрабатываются в initrd. Возможно, я скучаю по другим вещам. Вы можете проверить все это в системе Ubuntu, посмотрев в /usr/share/initramfs-tools
. Файл init
на самом деле является скриптом инициализации, который запускается ядром первым. Если вы посмотрите внизу, вы увидите, где он устанавливает новую корневую FS и запускает / sbin / init (что является выскочкой)
Но для специализированной системы, как, например, встроенная система, это все дополнительно шум и осложнение. Это съедает крошечную долю времени загрузки. Мы берем 1 секунду или меньше, но это еще 1 секунда, чтобы сократить время загрузки на устройствах, которые должны загружаться быстро.
Участие Upstart в этой игре - создание необходимых узлов устройства и других настроек системы, которые не обрабатываются initrd / initramfs. Она должна инициализировать систему до такого состояния, что все необходимые компоненты присутствуют для успешной загрузки системы в пользовательское пространство. Все это четко представлено в соответствующем коммите: http://bazaar.launchpad.net/~upstart-devel/upstart/trunk/revision/1375#init/main.c