Gentoo. Пакет installkernel
2025-05-22
·
4 мин. для прочтения
Gentoo. Пакет installkernel.
Содержание
1 Общая информация
- Репозиторий: https://github.com/projg2/installkernel-gentoo
- Wiki: https://wiki.gentoo.org/wiki/Installkernel
- Installkernel –— это набор скриптов для автоматической установки новых ядер и обновления загрузчика конфигурации.
2 Основные команды
Установка ядра:
kernel-install add KERNEL-VERSION KERNEL-IMAGE [INITRD-FILE...]
Удаление ядра:
kernel-install remove KERNEL-VERSION
Просмотр установленных ядер:
kernel-install list
Установка всех ядер:
kernel-install add-all
Дополнительно можно использовать
eclean-kernel
.
3 Конфигурация
- Файлы конфигурации:
/etc/kernel/install.conf
;/usr/lib/kernel/install.conf
;- первый имеет приоритет над вторым.
- Параметра конфигурации:
layout= initrd_generator= uki_generator=
3.1 layout
Поддерживается спецификации загрузчика:
тип 1 (
layout=bls
);- используется с
systemd-boot
; - рекомендуется включить USE-флаг
systemd-boot
; - создает файлы в формате, совместимом с
systemd-boot
;
- используется с
тип 2 (
layout=uki
);- предназначен для использования в унифицированных образах ядра и поддерживается grub, systemd-boot, refind;
для использования с GRUB (
layout=grub
);- чтобы использовать GRUB в сочетании с Unified Kernel Images, используйте раскладку
uki
;
- чтобы использовать GRUB в сочетании с Unified Kernel Images, используйте раскладку
если USE-флаги grub , systemd-boot , efistub и uki отключены, используется макет, который обратно совместим с installkernel Debian (
layout=compat
);- используется по умолчанию при отсутствии других USE-флагов;
- совместим с традиционным installkernel;
- обеспечивает обратную совместимость;
- рекомендуется для систем с нестандартными загрузчиками.
Макет
uki
(включенный USE-флагомuki
) имеет приоритет над макетомbls
(включенным USE-флагомsystemd-boot
), который, в свою очередь, имеет приоритет над макетомgrub
(включенным USE-флагомgrub
).
3.1.1 compat
- Макет compat очень похож на макет в традиционном installkernel Debian:
/boot/initramfs-xyz-gentoo-dist.img # Если USE=dracut (или другой генератор initramfs) /boot/kernel-xyz-gentoo-dist
3.1.2 efistub
- Макет
efistub
идентичен макетуcompat
, но перемещен в системный раздел EFI для загрузки EFI stub. - Образ ядра имеет суффикс
.efi
:/${ESP}/EFI/Gentoo/initramfs-xyz-gentoo-dist.img # Если USE=dracut (или другой генератор initramfs) /${ESP}/EFI/Gentoo/kernel-xyz-gentoo-dist.efi
3.1.3 grub
- Макет grub идентичен макету compat с добавлением grub.cfg:
/boot/grub/grub.cfg /boot/initramfs-xyz-gentoo-dist.img # Если USE=dracut (или другой генератор initramfs) /boot/kernel-xyz-gentoo-dist
3.1.4 bls
- The Bootloader Specification Type 1
- Используется в
systemd-boot
:/${ESP}/gentoo/xyz-gentoo-dist/initrd # Если USE=dracut (или другой генератор initramfs) /${ESP}/gentoo/xyz-gentoo-dist/linux /${ESP}/loader/entries/gentoo-xyz-gentoo-dist.conf
3.1.5 uki
- The Bootloader Specification Type 2:
/boot/grub/grub.cfg # Если USE=grub /${ESP}/EFI/Linux/gentoo-xyz-gentoo-dist.efi
3.2 initrd_generator
- Параметр определяет, какой плагин должен использоваться для генерации
initramfs
. - В настоящее время единственным пакетом, который устанавливает такой плагин, является Dracut из
sys-kernel/dracut
. - Если флаг
USE=dracut
включён, этот параметр автоматически устанавливается в значениеdracut
. - В противном случае для этого параметра автоматически устанавливается значение
none
.
3.3 uki_generator
- Параметр управляет тем, какой плагин следует использовать для генерации унифицированного образа ядра.
- Пакеты предоставляют такой плагин:
sys-kernel/dracut
;systemd
(через флагukify
вsys-apps/systemd
иsys-apps/systemd-utils
).- Когда включен флаг
USE=ukify
, этот параметр автоматически устанавливается вukify
. - Когда флаг
USE=ukify
отключен, но включены флагиUSE
dracut
иuki
, этот параметр автоматически устанавливается вdracut
. - В противном случае этот параметр автоматически устанавливается в
none
.
4 Особенности
4.1 dracut
4.1.1 hostonly
- Начиная с версии
sys-kernel/dracut-106
значение по умолчанию для параметраhostonly
изменилось с отключенного на включенное. hostonly
:настройка для Dracut, которая управляет тем, сколько данных будет включено в создаваемый образ initramfs.- Когда она отключена, Dracut стремится сгенерировать образ initramfs, загружаемый на любом оборудовании.
- Когда этот параметр включен, Dracut стремится сгенерировать образ initramfs, содержащий только то, что необходимо для загрузки текущей системы.
- Настройка
hostonly
может быть отключена с помощью в/etc/dracut.conf.d/
:mkdir -p /etc/dracut.conf.d echo "hostonly=no" >> /etc/dracut.conf.d/95-no-hostonly.conf
5 Сравнение ukify и dracut
5.1 Основные возможности
- Dracut
- Создает как UKI (Unified Kernel Image), так и initramfs самостоятельно
- Имеет встроенный механизм создания initramfs
- Автоматически генерирует UKI при включении соответствующих флагов
- Поддерживает автоматическую установку в EFI System Partition
- Ukify
- Создает только UKI, требует отдельный initramfs генератор
- Работает с любым initramfs, созданным сторонними инструментами
- Требует отдельной настройки initramfs через UgRD или Dracut
- Более гибкая интеграция с существующими initramfs
5.2 Настройка и конфигурация
- Dracut
- Конфигурация в файле
/etc/dracut.conf
- Параметры командной строки ядра задаются в
/etc/dracut.conf
- Для Secure Boot требуются настройки в
/etc/dracut.conf
- Автоматическая генерация UKI при установке ядра
- Конфигурация в файле
- Ukify
- Конфигурация в файле
/etc/kernel/uki.conf
- Параметры командной строки ядра задаются в
/etc/kernel/cmdline
- Для Secure Boot требуются настройки в
/etc/kernel/uki.conf
- Необходимость отдельной настройки initramfs генератора
- Конфигурация в файле
5.3 Особенности использования
- Dracut
- Однофайловая система — все в одном инструменте
- Автоматическая генерация и установка UKI
- Встроенная поддержка Secure Boot
- Простота настройки через единый конфигурационный файл
- Ukify
- Модульная система - можно комбинировать с разными initramfs генераторами
- Более гибкая настройка параметров UKI
- Интеграция с systemd-specific функциями
5.4 Совместимость и интеграция
- Dracut
- Лучше интегрирован с традиционными системами
- Поддерживает большинство загрузчиков без дополнительной настройки
- Автоматически определяет и использует существующую конфигурацию
- Ukify
- Лучше работает с systemd-based системами
- Оптимизирован для современных UEFI систем
- Требует дополнительной настройки при использовании нестандартных initramfs
5.5 Рекомендации по выбору
Используйте Dracut, если:
- Нужна простая и единая система управления UKI и initramfs
- Важна автоматическая генерация и установка
- Используется традиционный подход к настройке системы
Используйте Ukify, если:
- Нужна максимальная гибкость в выборе initramfs генератора
- Важна поддержка Measured Boot
- Используется современная systemd-based система
- Требуется интеграция с дополнительными функциями systemd