LILO, GRUB и Yaboot поддерживают диск начальной загрузки (initrd), работающий как корневая файловая система до того, как настоящая файловая система загружается и инициализируется. Завершением загрузки настоящей файловой системы мы считаем ее монтирование к корню.
Начальные шаги позволяют Linux загрузить несколько скомпилированных модулей и динамически загрузить другие модули и драйверы из initrd. Главное отличие от загрузчика заключается в том, что он загружается как минимальное ядро и диск в оперативной памяти во время шага 2. Ядро инициализирует использование диска в памяти, монтирует финальную корневую файловую систему и затем удаляет initrd. initrd позволяет нам:
• настроить ядро во время загрузки;
• сохранить ядро минимально функциональным;
• обладать ядром для нескольких аппаратных конфигураций.
Предыдущие строки являются основными при загрузке с помощью Yaboot, GRUB и LILO. Каждый загрузчик имеет богатый набор команд для своих настроечных файлов. Для измененного или использующего специальные функции загрузочного процесса, быстрого поиска в веб в GRUB и использования настроечных файлов LILO требуется дополнительная информация.
Теперь, когда мы увидели, как ядро загружается и как начинается инициализация памяти, давайте рассмотрим процессы инициализации ядра.