LINUX.ORG.RU

История изменений

Исправление sphericalhorse, (текущая версия) :

Могу за обычный компудахтер рассказать.

Допустим MBR/GRUB/SysV init:
1. Нажимаешь кнопку ВКЛ.
2. Power on self test.
3. MBR (GRUB stage 1 loader)
4. GRUB Stage 1.5 loader (там драйвер для ФС в которой лежит Stage 2 loader).
5. GRUB Stage 2 loader.
6. Grub передает управление ядру (vmlinuz которое. там внутри розархиватор и elf файл ядра сжатый gzip'ом), и оно вместо реальной ФС грузиться с initial ram disk (в которой содержатся драйвера необходимые для загрузки реальной ФС).
7. Монтирование реальной ФС, и chroot туда.
8. Передача управления init'у.
9. Init читает /etc/inittab и запускает нужные сервисы в зависимости от указанного там ранлевела.

В случае с GPT/EFI и SystemD немного по другому.
1. Нажимаешь кнопку ВКЛ.
2. Power on self test.
3. EFI ищет fat32 boot раздел и в нем файл ядра (либо по дефлотным пуятм, либо по настроенным через сам EFI).
4. EFI передает управление ядру.
5. Все вот это про initrd, и chroot в реальную ФС.
6. Передача упрвление init'у (в даном случае systemd), который запускает сервысы в зависимости от default-target.

А на кастомных железяках обычно все от желизяик зависит.

Надеюсь хто что-то полезное в моих словах есть.

Исходная версия sphericalhorse, :

Могу за обычный компудахтер рассказать.

Допустим MBR/GRUB/SysV init:
1. Нажимаешь кнопку ВКЛ.
2. Power on self test.
3. MBR (GRUB stage 1 loader)
4. GRUB Stage 1.5 loader (там драйвер для ФС в которой лежит Stage 2 loader).
5. GRUB Stage 2 loader.
6. Grub передает управление ядру (vmlinuz которое. там внутри розархиватор и elf файл ядра сжатый gzip'ом), и оно вместо реальной ФС грузиться с initial ram disk (в которой содержатся драйвера необходимые для загрузки реальной ФС).
7. Монтирование реальной ФС, и chroot туда.
8. Передача управления init'у.
9. Init читает /etc/inittab и запускает нужные сервисы в зависимости от указанного там ранлевела.

В случае с GPT/EFI и SystemD немного по другому.
1. Нажимаешь кнопку ВКЛ.
2. Power on self test.
3. EFI ищет fat32 boot раздел и в нем файл ядра(либо по дефлотному пути, либо по настроенным через сам EFI путям).
4. EFI передает управление ядру.
5. Все вот это про initrd, и chroot в реальную ФС.
6. Передача упрвление init'у (в даном случае systemd), который запускает сервысы в зависимости от default-target.

А на кастомных железяках обычно все от желизяик зависит.

Надеюсь хто что-то полезное в моих словах есть.