История изменений
Исправление
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.
А на кастомных железяках обычно все от желизяик зависит.
Надеюсь хто что-то полезное в моих словах есть.