LINUX.ORG.RU

Порядок загрузки Linux

 , , ,


0

1

Господа, дамы! Подскажите пожалуйста, как можно определить порядок загрузки Linux. К примеру, есть какой-нибудь абстрактный девайс (чайник, точилка карандашей, etc) или компьютер, на котором запилен Linux. Как можно определить порядок загрузки и посмотреть, в какой последовательности что грузится?


Так порядок везде один: загрузчик, ядро, init, запуск всего барахла в соответствии с логикой инита.

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

А как посмотреть конкретику? Вот что такое «загрузчик»? Как посмотреть, что там грузится, в каком порядке?

Juice
() автор топика
Ответ на: комментарий от Juice

На не-x86 в зависимости от конкретной железки, вплоть до «у каждого производителя свой васянозагрузчик».

anonymous
()
Ответ на: комментарий от Juice

Вот что такое «загрузчик»? Как посмотреть, что там грузится, в каком порядке?

Смотреть в конфигурационном файле загрузчика

dots
()
Ответ на: комментарий от Juice

Можно посмотреть в первый раздел флеша и по нему догадаться что за загрузчик. В 99% случаев это U-Boot

Dark_SavanT ★★★★★
()
Ответ на: комментарий от znavko

Да, спасибо. Есть аналогичные ссылки на русском. Их много. Однако, например, в дире etc нет inittab. Или ещё какой затык в описываемых последовательностях. Вот поэтому и спрашиваю: как отследить?

Juice
() автор топика

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

Допустим 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 ★★★★★
()
Последнее исправление: sphericalhorse (всего исправлений: 1)
Ответ на: комментарий от sphericalhorse

Как тут лайк поставить? :-) Спасибо.

Juice
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.