Esta guía te llevará paso a paso en la compilación e instalación de un kernel de Linux desde cero, compatible con múltiples distribuciones (Debian, Arch, Fedora, Slackware, etc.).
1. Instalación de herramientas necesarias
Dependiendo de la distribución, debes instalar ciertas herramientas de compilación.
Para Debian/Ubuntu (APT)
Código: Seleccionar todo
sudo apt update && sudo apt install -y build-essential flex bison libssl-dev libelf-dev bc
Código: Seleccionar todo
sudo pacman -S --needed base-devel flex bison openssl elfutils bc
Código: Seleccionar todo
sudo dnf install -y gcc make flex bison elfutils-libelf-devel openssl-devel bc
Si usas Slackware, ya tienes la mayoría de herramientas. Asegúrate de tener gcc, make, flex, bison y bc instalados.
2. Descarga del código fuente del kernel
Descarga la última versión estable del kernel desde kernel.org:

Código: Seleccionar todo
cd /usr/src
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
Código: Seleccionar todo
tar -xvf linux-6.7.tar.xz
cd linux-6.7

3. Configuración del kernel
Usar la configuración del kernel actual (recomendado):
Código: Seleccionar todo
cp -v /boot/config-$(uname -r) .config
- Usa `make menuconfig` para una interfaz en ncurses.
- Usa `make xconfig` para una interfaz gráfica (requiere Qt).

4. Compilación del kernel
Compilar el kernel y los módulos:
Código: Seleccionar todo
make -j$(nproc)
make modules -j$(nproc)
Instalar los módulos:
Código: Seleccionar todo
sudo make modules_install
Código: Seleccionar todo
sudo make install
Debes copiar manualmente el kernel:
Código: Seleccionar todo
cp arch/x86/boot/bzImage /boot/vmlinuz-6.7
cp System.map /boot/System.map-6.7
cp .config /boot/config-6.7
ln -sf /boot/System.map-6.7 /boot/System.map
Para sistemas con GRUB:
Código: Seleccionar todo
sudo update-grub
Código: Seleccionar todo
sudo grub-mkconfig -o /boot/grub/grub.cfg
Reinicia y selecciona el nuevo kernel en el gestor de arranque:
Código: Seleccionar todo
sudo reboot
Ahora tienes un kernel compilado a medida para tu sistema. Si tienes problemas de arranque, siempre puedes usar el kernel anterior desde GRUB.