Перейти к содержимому

Разработка или отладка ядра

Эта страница ещё не закончена.

KDE Linux сразу предоставляет полную, заранее настроенную среду разработки ядра. Дополнительные пакеты, контейнеры, виртуальные машины и окружения chroot не нужны. Разработка ядра ведётся по обычным правилам основного проекта Linux; немногочисленные особенности KDE Linux описаны ниже.

Документация основного проекта

Разработка ядра в KDE Linux следует принятому в основном проекте Linux. Прежде чем продолжить, настоятельно рекомендуется изучить официальную документацию по ядру Linux:

В этих документах описаны принятые в ядре процесс разработки, стиль оформления кода, система сборки и (по желанию) поддержка Rust.

Предварительные требования

В KDE Linux файловая система /usr доступна только для чтения. Собственное ядро, его модули и связанные с ними файлы нужно устанавливать через записываемый оверлей.

Прежде чем продолжить, необходимо настроить системное расширение systemd (sysext), которое разрешает подменять содержимое /usr.

Этот шаг обязателен: все образы ядра и модули, собранные по этому руководству, устанавливаются в sysext и затем подключаются к работающей системе.

Клонирование ядра Linux

Клонируйте репозиторий ядра Linux основного проекта с помощью Git:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

При необходимости можно клонировать и определённую стабильную ветку или ветку разработки.

Настройка ядра

Можно начать с конфигурации по умолчанию для своей архитектуры:

make defconfig

Чтобы изменить конфигурацию, воспользуйтесь одним из стандартных средств настройки ядра:

make menuconfig
make nconfig
make xconfig

Все шаги настройки такие же, как при разработке ядра Linux в основном проекте.

Сборка ядра

Соберите ядро стандартной системой сборки:

make -j$(nproc)

В дереве сборки будут созданы образ ядра и модули.

Установка в sysext

Установите модули ядра в оверлей sysext:

make INSTALL_MOD_PATH="$HOME/kde/usr" modules_install

Определите версию ядра и установите его образ:

version=$(make -s kernelrelease)
install -Dm644 "$(make -s image_name)" \
  "$HOME/kde/usr/lib/modules/$version/vmlinuz"

Обновите системное расширение systemd, чтобы система увидела новое ядро и модули:

run0 systemd-sysext refresh --always-refresh=yes

Пересборка образов EFI

После установки ядра в sysext пересоберите файлы EFI по обновлённому содержимому /usr:

run0 /usr/lib/rebuild-efi

На этом шаге создаётся новый единый образ ядра (UKI).

Установка единого образа ядра

Установите созданный UKI в системный раздел EFI:

run0 cp kde-linux.efi /boot/EFI/Linux/

Новое ядро появится в systemd-boot как пункт без номера версии; выбрать его можно при следующей загрузке.


Статья предоставлена и распространяется под лицензией CC-BY-4.0.