Линукс загружается: что происходит до того, как вы увидели логотип?

Разбираем старт ядра Linux — от первой инструкции до инициализации драйверов, с юмором и без лишней магии.
Вы когда-нибудь задумывались, что творится в недрах вашего Linux-сервера в те самые секунды, когда вы ещё только тянетесь к чашке кофе? Старт ядра — это не просто «погрузка зонтика», а целый квест, достойный сценария фильма про хакеров. Начинается всё с первой инструкции, которая, как первый шаг на Луне, определяет всё остальное.
От BIOS до init: как ядро просыпается
Сначала процессор просыпается в реальном режиме, будто только что вылупившийся цыплёнок. Загрузчик (GRUB, конечно же) передаёт управление ядру, и тут начинается магия: ядро переключается в защищённый режим, настраивает таблицы страниц и инициализирует подсистемы. Это как собирать IKEA-шкаф без инструкции, только если инструкция — это исходники на C и ассемблере.
Дальше — развёртывание драйверов. Вы думали, что ваш Wi-Fi сам включился? Нет, это ядро пробежалось по списку устройств, как курьер по адресам, и каждому сказало: «Привет, ты кто? А ну-ка, дай мне свои capabilities». И если драйвер упадёт — добро пожаловать в kernel panic, друг.
Кстати, о знакомой боли: каждый, кто хоть раз пересобирал ядро, знает, что это как зайти в JIRA на 47 столбцов — глаза разбегаются. Но без этого никуда. В итоге, после всех инициализаций, запускается процесс init, и вы наконец видите свой login prompt. Ура, можно работать.
Комментарий студии METABYTE: Мы тоже любим копаться в ядре, но предпочитаем, чтобы нашим клиентам не приходилось это делать. Доверьте настройку инфраструктуры нам — и ваши серверы будут загружаться быстрее, чем вы найдёте пароль от Wi-Fi.