Skip to content

Managing Kernels ru

crim50n edited this page Oct 16, 2026 · 3 revisions

Управление ядрами

Менеджер ядер MiniOS упаковывает, проверяет, активирует и удаляет пакеты ядер для модульной live-системы MiniOS. Ядро MiniOS — это согласованный набор: образ ядра, его initramfs и соответствующий 01-kernel-<version>.sb модуль должны идти вместе.

Этот процесс применяется только для live-архитектуры. Обычная установка использует стандартные пакеты ядра Debian или Ubuntu, обычные инструменты для создания initramfs и установленный загрузчик.

Что делает Менеджер ядер

Графический Менеджер ядер MiniOS и minios-kernel CLI используют один и тот же backend. Они позволяют:

  • просматривать установленные ядра и различать запущенные, активные и неактивные версии;
  • упаковывать реальное версионное ядро из настроенных APT-репозиториев;
  • упаковывать согласованный набор локальных файлов ядра .deb;
  • при необходимости добавлять выбранные драйверы из курируемого каталога DKMS MiniOS при упаковке ядра из репозитория;
  • собирать соответствующий initramfs MiniOS и модуль ядра SquashFS;
  • размещать готовые пакеты в репозитории ядер MiniOS;
  • активировать полный пакет для следующей загрузки и обновлять настройки поддерживаемого загрузчика;
  • удалять неактивное упакованное ядро.

Менеджер ядер не компилирует произвольное дерево исходников ядра. Если вам нужно изменить сами исходные данные для сборки ядра MiniOS, используйте вместо этого процесс сборки из исходников MiniOS.

Запуск графического менеджера

Запустите его через меню приложений MiniOS или выполните:

minios-kernel-manager

Приложение разделяет управление установленными ядрами и упаковку. Ядра из репозитория можно искать по имени пакета или отображаемой версии ядра. Управление пакетами недоступно, если обнаруженный корень MiniOS недоступен для записи.

Привилегированные операции backend выполняются через PolicyKit. Отдельная minios-kernel CLI требует root-доступ для всех команд, кроме справки.

Упаковка ядра из репозитория

Выберите Репозиторий в окне упаковки и укажите реальный версионный пакет ядра, например:

linux-image-6.12.107+deb13-amd64

Отслеживающие метапакеты, такие как linux-image-amd64 не принимаются в качестве источника пакета. Режим репозитория использует настроенные источники APT, параметры доверия и списки пакетов текущей системы. Соответствующие зависимые пакеты split-kernel автоматически подбираются, если это поддерживается дистрибутивом.

Графический интерфейс не запускает apt update только потому, что списки пакетов устарели. Обновите их вручную при необходимости или используйте --force-update в CLI.

Добавление курируемых драйверов DKMS

При упаковке из репозитория можно добавить выбранные драйверы из каталога DKMS MiniOS01-kernel. Графический интерфейс показывает совместимые варианты для выбранного ядра; CLI принимает повторяемую опцию --dkms-driver :

sudo minios-kernel package \
  --repo linux-image-6.12.107+deb13-amd64 \
  --dkms-driver rtl8821au \
  -o /tmp/kernel-output

Выбранные драйверы собираются в изолированной среде overlay/chroot с подходящими заголовками. Backend проверяет, что собранные модули соответствуют целевому ядру, прежде чем добавить их, и сохраняет информацию о происхождении драйверов внутри пакета по пути /usr/share/minios/kernel-dkms/.

Это функция совместимости с ограниченным набором драйверов, а не универсальный frontend DKMS. При ручной упаковке локальных пакетов ядра выбор драйверов не доступен, так как невозможно гарантировать соответствие заголовков из репозитория.

Упаковка локальных пакетов ядра

Для локального ядра предоставьте все необходимые .deb файлы из одной сборки ядра:

sudo minios-kernel package \
  --deb linux-image.deb linux-modules.deb \
  -o /tmp/kernel-output

В Debian и Ubuntu одно ядро может быть разделено на несколько пакетов. Backend проверяет, что предоставленные пакеты image, modules, base и, при необходимости, modules-extra образуют согласованную версию, а не объединяют случайные ревизии.

Результаты упаковки и сжатие

В процессе упаковки создаются образ ядра, initramfs и модуль ядра SquashFS. Выбранные метаданные пакета сохраняются внутри модуля по пути /usr/share/minios/kernel-dpkg/.

По умолчанию используется сжатие SquashFS zstd. Другие методы доступны только при наличии необходимых инструментов; в настоящее время поддерживаются lz4, lzo, gzip, lzma, xz, и bzip2.

Если обнаружен доступный для записи корень MiniOS и указанный путь вывода отличается, готовый пакет размещается атомарно в:

<MiniOS-root>/kernels/<version>/

Загрузки из репозитория используются только как временные входные данные для сборки и удаляются после завершения или неудачи упаковки. Локальные .deb входные файлы остаются на ответственности пользователя.

Совместимость с зашифрованным хранилищем

Если запущенный initramfs MiniOS поддерживает многослойную LUKS-персистентность, новое ядро должно сохранять путь загрузки через dm-crypt. Сгенерированный initramfs проверяется на наличие поддержки cryptsetup, модуля dm-crypt и маркера криптоспособности MiniOS.

Если эти условия не выполняются, упаковка завершается с ошибкой, чтобы не создавать пакет ядра, который сделает зашифрованную сессию недоступной для загрузки.

Активация и удаление ядер

В режиме управления различаются следующие состояния:

  • RUNNING — ядро, работающее в текущей загрузке;
  • ACTIVE — полный комплект, выбранный для следующей загрузки;
  • AVAILABLE — другой упакованный комплект в репозитории MiniOS.

Для активации требуется полная запись в репозитории. При этом ядро, initramfs, активный модуль SquashFS, маркер активной версии и изменения загрузчика применяются как единая операция. Необходима настройка GRUB; если используется SYSLINUX, его конфигурация также обновляется. В случае неудачи все подготовленные загрузочные файлы будут откатаны.

Активация влияет только на следующую загрузку и не перезагружает текущую систему. Оставляйте хотя бы один проверенный рабочий комплект до успешной загрузки нового.

Удаляйте только неактивные упакованные ядра, которые больше не нужны. Не смешивайте вручную ядро, initramfs или 01-kernel-*.sb из разных комплектов.

Справочник по командной строке

Типичные команды:

sudo minios-kernel list
sudo minios-kernel info
sudo minios-kernel info <version>
sudo minios-kernel status
sudo minios-kernel activate <version>
sudo minios-kernel delete <version>

Упаковка из репозитория или локальных файлов:

sudo minios-kernel package --repo <versioned-package> -o /tmp/kernel-output
sudo minios-kernel package --repo <versioned-package> --force-update -o /tmp/kernel-output
sudo minios-kernel package --deb /path/to/kernel-image.deb /path/to/kernel-modules.deb -o /tmp/kernel-output
sudo minios-kernel package --repo <versioned-package> --sqfs-comp lz4 -o /tmp/kernel-output

Добавьте --json для структурированного вывода. Для точных опций используйте встроенную справку и руководство для вашей версии:

minios-kernel --help
sudo minios-kernel package --help
man minios-kernel

Структура хранения

Менеджер ядер определяет корневой каталог содержимого MiniOS вместо того, чтобы полагаться на имя блочного устройства. Управляемые пути задаются относительно этого корня:

<MiniOS-root>/
├── 01-kernel-<version>.sb
├── boot/
│   ├── vmlinuz-<version>
│   ├── initrfs-<version>.img
│   └── active-kernel
└── kernels/
    └── <version>/
        ├── 01-kernel-<version>.sb
        ├── vmlinuz-<version>
        └── initrfs-<version>.img

Канонический путь к runtime-модулю: /lib/modules/<version>. В системах с usrmerge он разрешается в /usr/lib/modules/<version>; в старых схемах хранения может физически находиться в /lib. Упаковка отклоняет уже существующее дерево модулей с той же версией, чтобы не смешивать разные ревизии пакетов.

Восстановление после неудачной загрузки ядра

Если только что активированное ядро не загружается, загрузите проверенный полный набор ядра MiniOS, если он ещё доступен. Не пытайтесь восстановить систему, копируя отдельные файлы ядра, initramfs или SquashFS из другого образа: эти файлы должны использоваться только в составе одного пакета.

Если не осталось ни одного проверенного полного пакета, загрузитесь с доверенного rescue-носителя, сохраните важные данные и переустановите или восстановите затронутую установку MiniOS. См. Устранение неполадок и Резервное копирование MiniOS.

Связанная документация

🏠 Home

🌐 Languages

English

📋 Getting started

🚀 Installing MiniOS

🖥️ Using MiniOS

⚙️ Preparing and customizing MiniOS

🛡️ Maintenance and recovery

📖 Reference

🛠️ Development

de

📋 Erste Schritte

🚀 MiniOS installieren

🖥️ MiniOS verwenden

⚙️ MiniOS vorbereiten und anpassen

🛡️ Wartung und Wiederherstellung

📖 Referenz

🛠️ Entwicklung

es

📋 Primeros pasos

🚀 Instalando MiniOS

🖥️ Usar MiniOS

⚙️ Preparar y personalizar MiniOS

🛡️ Mantenimiento y recuperación

📖 Referencia

🛠️ Desarrollo

fr

📋 Premiers pas

🚀 Installation de MiniOS

🖥️ Utiliser MiniOS

⚙️ Préparer et personnaliser MiniOS

🛡️ Maintenance et récupération

📖 Référence

🛠️ Développement

id

📋 Memulai

🚀 Menginstal MiniOS

🖥️ Menggunakan MiniOS

⚙️ Menyiapkan dan menyesuaikan MiniOS

🛡️ Pemeliharaan dan pemulihan

📖 Referensi

🛠️ Pengembangan

it

📋 Per iniziare

🚀 Installazione di MiniOS

🖥️ Usare MiniOS

⚙️ Preparare e personalizzare MiniOS

🛡️ Manutenzione e ripristino

📖 Riferimento

🛠️ Sviluppo

pt-BR

📋 Primeiros passos

🚀 Instalando o MiniOS

🖥️ Usar MiniOS

⚙️ Preparando e personalizando o MiniOS

🛡️ Manutenção e recuperação

📖 Referência

🛠️ Desenvolvimento

ru

📋 Начало работы

🚀 Установка MiniOS

🖥️ Использование MiniOS

⚙️ Подготовка и настройка MiniOS

🛡️ Обслуживание и восстановление

📖 Справочник

🛠️ Разработка

Clone this wiki locally