З вершини...
make
компілює і пов'язує зображення ядра. Це єдиний файл з назвою vmlinuz
.
make modules
компілює окремі файли для кожного питання, на яке ви відповіли M
під час налаштування ядра. Об'єктний код пов'язаний із вашим щойно вбудованим ядром. (Для відповідей на запитання Y
вони вже є частиною vmlinuz
, а для запитаних відповідей N
вони пропускаються).
make install
встановлює вбудоване ядро в /vmlinuz
.
make modules_install
встановлює ваші модулі ядра до /lib/modules
або /lib/modules/<version>
.
Щодо додавання його до списку доступних ядер, про це подбає завантажувач. Для кожного завантажувача він різний, але grub
є найпоширенішим для x86 та amd64, тому опишу це. Насправді це досить просто. Grub заглядає /
, /boot
і /lib/modules
для будь-якої речі, яка виглядає, це може бути робоче ядро, і додає його. І так, це спрощений опис.
Цей додатковий "жахливий матеріал" в документації на Ubuntu - це зайвий матеріал для створення deb
пакету. Коли ти робиш це більше, ніж для себе, набагато краще упакувати його. Ви вчасно переключитесь.
Створення ядра та модулів зберігається окремо, тому що для людей, яким потрібно (тобто розробників ядер), вони часто вносять зміни лише в модуль. Вони можуть застосувати свої зміни, відновити та встановити лише модулі. Це економить багато часу, коли це доводиться робити 20 разів на день. Він ніколи не буде оновлюватися, щоб мати єдину make everything
команду. Ви натомість запустіть make && make modules && make install && make modules_install
так, як каже документація . Процес збирання надає перевагу розробникам ядра, а не вам. І саме так і має бути.
Насправді майже ні для кого, крім розробників ядра чи дистрибуторів, що не розробляють пакунки, збирати ядро майже немає. Практично за будь-яких обставин, функція ядра, яку ви хочете, вже побудована для вас і доступна в одному з попередньо упакованих ядер. Є винятки, але вони надзвичайно рідкісні в наші дні.
Не те, що я відштовхую вас від створення власного ядра, я насправді закликаю вас це зробити. Я думаю, що створення ядра з нуля є неоціненною практикою для вивчення того, як це все працює там. Частково, тому що, можливо, одного дня ти станеш винятком, що потрібно. Але це також багато чого вчить про процес ядра та завантаження в цілому. Ви будете кращою людиною за те, що зробили це.