Ir al contenido

Desarrollo y depuración del kernel

Esta página está en construcción.

KDE Linux proporciona un entorno de desarrollo del kernel completo y preconfigurado, listo para usar. No se necesitan paquetes adicionales, contenedores, máquinas virtuales ni jaulas chroot. El desarrollo del kernel sigue el flujo de trabajo estándar de Linux, con cierto número de pasos de integración específicos de KDE Linux que se explican a continuación.

Documentación de la rama principal

El desarrollo del kernel en KDE Linux sigue las prácticas principales de Linux. Antes de continuar, se recomienda familiarizarse con la documentación oficial del kernel de Linux:

Estos documentos describen el proceso de desarrollo, el estilo del código, el sistema de compilación y, opcionalmente, la compatibilidad con Rust que usa el kernel.

Prerrequisitos

KDE Linux usa un sistema de archivos /usr de solo lectura. Cualquier kernel personalizado, módulos del kernel o artefacto relacionado se debería instalar mediante una capa superpuesta en la que se pueda escribir.

Antes de continuar, debes configurar una extensión del sistema para systemd (sysext) para poder sobrescribir el contenido de /usr.

Este paso es obligatorio. Todas las imágenes del kernel y los módulos construidos en esta guía se instalan en la sysext y se fusionan con el sistema en vivo.

Clonación del kernel de Linux

Clona el repositorio oficial del kernel de Linux usando Git:

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

También puedes clonar una rama estable específica o de desarrollo, si es necesario.

Configuración del kernel

Puedes empezar con la configuración predeterminada para tu arquitectura:

make defconfig

Para personalizar la configuración, usa una de las interfaces estándares de configuración del kernel:

make menuconfig
make nconfig
make xconfig

Todos los pasos de configuración son idénticos a los oficiales del desarrollo del kernel de Linux.

Compilación del kernel

Compila el kernel usando el sistema de compilación estándar:

make -j$(nproc)

Esto genera la imagen del kernel y los módulos del árbol de compilación.

Instalación en la sysext

Instala los módulos del kernel en la capa sysext:

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

Determina la versión del kernel e instala la imagen del kernel:

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

Refresca la extensión del sistema de systemd para que el sistema vea el nuevo kernel y sus módulos:

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

Reconstrucción de imágenes EFI

Tras instalar el kernel en la sysext, reconstruye los artefactos EFI según el contenido actualizado de /usr:

run0 /usr/lib/rebuild-efi

Este paso genera una nueva imagen de kernel unificada (UKI).

Instalación de la imagen de kernel unificada

Instala la UKI generada en el paso anterior en la partición del sistema EFI:

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

El nuevo kernel aparecerá como una entrada sin versión en systemd-boot y se podrá seleccionar en el próximo arranque.


Artículo escrito por bajo las condiciones de la licencia CC-BY-4.0.