kernel-install (Українська)

Повʼязані статті
Unified kernel image
kernel-install(8)
- утиліта, призначена для спрощення встановлення та адміністрування образів ядра Linux у системі. Вона має систему плагінів, що дозволяє легко інтегруватися з іншими утилітами. Ці плагіни визначають низку дій і налаштувань, необхідних під час встановлення та керування образами ядра Linux, наприклад налаштування завантажувача, створення
об'єднаного образа ядра
або автоматизація підписів необхідних для
Secure Boot
.
Примітка
kernel-install
не генерує initramfs самостійно, для цього використовуються відповідні плагіни для
mkinitcpio
чи
dracut
.
Установка
kernel-install
є частиною
systemd
і постачається разом.
systemd-ukify
є необов'язковою залежністю необхідною для роботи з
об'єднаними образами ядра
, якщо не було вказано інший генератор об'єднаних образів (більше в
#Основні налаштування
).
Налаштування
Основні налаштування
Основні налаштування зберігаються в
/etc/kernel/install.conf
. Тут можна вказати
тип пакування
що буде використовуватись, наприклад
bls
для традиційного варіанта із розділеними ядром та initramfs, чи
uki
для
об'єднаного образа ядра
:
/etc/kernel/install.conf
layout=bls
Примітка
За замовчуванням
mkinitcpio
буде генерувати
initramfs
, а
ukify
буде генерувати
об'єднаний образ ядра
(якщо
layout=uki
). Це можна змінити вказавши параметри
initrd_generator=
та
uki_generator=
, дивись
kernel-install(8)
.
Порада
Можна скористатись
# kernel-install inspect --verbose
щоб побачити чому і які параметри використовуються за замовчуванням.
Параметри ядра
Параметри ядра
для всіх ядер вказуються за адресою
/etc/kernel/cmdline
. Їх буде запаковано в об'єднаний образ ядра, або додано до налаштувань завантажувача, відповідно до типу пакування. Якщо файл
/etc/kernel/cmdline
відсутній, буде використано
/usr/lib/kernel/cmdline
або
/proc/cmdline
.
Плагіни
Перелік
активних
плагінов можна отримати за допомогою аргументу
inspect
:
# kernel-install inspect
...
Plugins: /usr/lib/kernel/install.d/50-depmod.install
         /usr/lib/kernel/install.d/50-mkinitcpio.install
         /usr/lib/kernel/install.d/60-ukify.install
         /usr/lib/kernel/install.d/90-loaderentry.install
         /usr/lib/kernel/install.d/90-uki-copy.install
...
Доступні
плагіни знаходяться за адресою
/usr/lib/kernel/install.d/
:
ls /usr/lib/kernel/install.d/
50-depmod.install  50-mkinitcpio.install  60-ukify.install  90-loaderentry.install  90-uki-copy.install  91-sbctl.install
Файли з такими ж назвами у
/etc/kernel/install.d/
замінять файли за замовчуванням.
Наприклад, для того щоб
вимкнути
плагін
sbctl
, що автоматично підписує об'єднані образи ядра для Secure Boot, потрібно зробити наступне посилання:
# ln -sf /dev/null /etc/kernel/install.d/91-sbctl.install
Ви також можете створити власні плагіни для
kernel-install
і покласти їх в
/etc/kernel/install.d/
.
Об'єднані образа ядра
Зверніться до
Unified kernel image#kernel-install
Використання
Вручну
Для установки ядра з
/usr/lib/modules
використовується аргумент
add
:
# kernel-install add
A.Б.В-назва
/usr/lib/modules/
A.Б.В-назва
/vmlinuz
Порада
використовуйте
# kernel-install add-all
для того щоб додати всі установлені ядра за раз.
Для видалення ядра використовується аргумент
remove
:
# kernel-install remove
A.Б.В-назва
Автоматично
Щоб автоматично виконати
kernel-install
після установки чи оновлення ядра можна установити пакунок
pacman-hook-kernel-install
AUR
.
Примітка
mkinitcpio
впроваджує схожий функціонал своїми
pacman hooks
. Для уникнення подвоєння їх треба вимкнути:
# ln -s /dev/null /etc/pacman.d/hooks/60-mkinitcpio-remove.hook
# ln -s /dev/null /etc/pacman.d/hooks/90-mkinitcpio-install.hook
Щоб повернути назад просто видаліть ці два посилання.