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:
- https://docs.kernel.org/
- https://docs.kernel.org/process/
- https://docs.kernel.org/kbuild/
- https://docs.kernel.org/rust/
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 Andrew Gigena bajo las condiciones de la licencia CC-BY-4.0.