Разработка или отладка ядра
Эта страница ещё не закончена.
KDE Linux сразу предоставляет полную, заранее настроенную среду разработки ядра. Дополнительные пакеты, контейнеры, виртуальные машины и окружения chroot не нужны. Разработка ядра ведётся по обычным правилам основного проекта Linux; немногочисленные особенности KDE Linux описаны ниже.
Документация основного проекта
Разработка ядра в KDE Linux следует принятому в основном проекте Linux. Прежде чем продолжить, настоятельно рекомендуется изучить официальную документацию по ядру Linux:
- https://docs.kernel.org/
- https://docs.kernel.org/process/
- https://docs.kernel.org/kbuild/
- https://docs.kernel.org/rust/
В этих документах описаны принятые в ядре процесс разработки, стиль оформления кода, система сборки и (по желанию) поддержка 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 как пункт без номера версии; выбрать его можно при следующей загрузке.
Статья предоставлена Andrew Gigena и распространяется под лицензией CC-BY-4.0.