Jump to content

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

2 languages

- English
- 日本語

From ArchWiki

Повʼязані статті

- 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 буде генерувати initrd, а 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-installAUR.

Примітка: 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

Щоб повернути назад просто видаліть ці два посилання.

Categories:

- Kernel (Українська)
- Boot process (Українська)