kernel-install (Українська)
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
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-installAUR.
# ln -s /dev/null /etc/pacman.d/hooks/60-mkinitcpio-remove.hook # ln -s /dev/null /etc/pacman.d/hooks/90-mkinitcpio-install.hook
Щоб повернути назад просто видаліть ці два посилання.