[Guia] Cambiar el Kernel de una distribución

Alguna vez nos hemos topado con que un dispositivo que conectamos (ejemplo audífonos) el sistema por alguna razón no lo reconoce, esto puede ser porque falta un driver que permite su uso, una solución que puede arreglarlo es cambiar el kernel de la distribución por otro.

Elegir un kernel

Aunque no parezca, en el mundo Linux una variedsd de kernels para cubrir distintas labores, esta variedad de kernels en verdad son modificaciones y optimozaciones del kernel base, algunos ejemplos de kernels que se pueden seleccionar, que nobse limitan unicamente a estos son:

  • LTS: Sus siglas significan Long Term Support, puede traducirse como soporte extendidos, suele tratarse de una versión anterior del kernel base, pero esta presenta un soporte técnico mas prolongado.
  • Zen: Las modificaciones de este kernel estan cebtradas en optimizar el rendimiento del pc, suele recomendarse para el gaming pero tenga en cuenta que este kernel tiende a consumir un poco mas de energia.
  • Hardened: Las modificaciones de este kernel se cebtran en cuestiones de seguridad y es posoble ver que cuenta con parques de seguridad que aun no estan presentes en la rama estable
  • Linux-libre: Este kernel tiene la particulatidad de que se eliminar aquellos pedazos de software privativo que luego estan presentea en la versión estable.

Proceso

Una vez que ya sabemos que kernel queremos instalar es momento de proceder con la instalación, antes tenga en cuenta que es poaible que su kernel no este en los repositorios de la distribución, por lo que es recomendable primero hacer la busqueda en internet y ver cuales son los pasos para añadir el repositorio.

Actualizamos los repositorio de la distribución:

Debian

sudo nala upgrade

sudo apt update && upgrade

Arch

sudo pacman -Syu

yay -Syu

Una vez actualizados los repositorios procederemos con la instalación, para esto hay que instalar 2 paquetes el Kernel y otro llamado headers, para este ejemplo se utilizará el kernel zen:

Debian

sudo apt install linux-zen linux-zen-headers

sudo nala install linux-zen linux-zen headers

Arch

sudo pacman -S linux-zen linux-zen-headres

yay -S linux-zen linux-zen-headers

Una vez instaladosnlos paquetes hace falta altualizar el grub para que este pueda usar el kernel nuevo, utilice este comando:

sudo update-grub

Aunque un detalle de Arch y algunas de sus derivadas es que probablemente no este presente el comando update-grub, por lo que en ese caso se utiliza el siguiente comando:

sudo grub-mkconfig -o /boot/grub/grub.cfg 

una vez que se confirme que su detecta el kernel, reinicie el equipo y elimine el kernel anterior

sudo nala purge linux-lts linux-lts-headers

sudo pacman -R linux-lts linux-lts-headers
8 Me gusta

No sabia que se podia cambiar el kernel

De echo es mas sencillo en distribuciones basadas en Debian con:

1 me gusta

En arch por defecto no esta el update-grub y tienes que usar el comando sudo grub-mkconfig -o /boot/grub/grub.cfg cosa que habria que indicar si la guia tambien es para Arch

Que bueno que mencinas ese comando, porque en el caso de mi distribución que es Artix(derivada de Arch) si viene update-grub, de ahí que no haya considerado a sudo grub-mkconfig -o /boot/grub/grub.cfg al momento de redactar la guia

1 me gusta

pregunta, que repecursiones puede traer cambian de kernel? perder archivos? , dirvers? o no se es una operacion de riesgo?

Hay servicios, programas y driver que dependen o están integrados en el kernel. En distribuciones compiladas no lo tomas en cuenta porque tu kernel lleva los módulos activados para la mayoría de servicios y hardware. Por ejemplo en Gentoo al instalar un programa también te indica que módulos del kernel debes activar (aquí un ejemplo con openvpn).

No estoy familiarizado con los kernel compilados los que indico @Fer24, pero no debería haber problema al menos que tengas un hardware muy raro o un servicio poco común. En tal caso podrías usar modprobe para cargar manualmente los módulos que requieras. Además de ello no hay ningún peligro.

1 me gusta

no bro lo que dices es puro gentoo linux, yo paso, sinceramente de momento me quedo en ubuntu y en menos de un año me paso a arch

Una cosa si no me equivoco los paquetes no son iguales en Arch, Debian y Ubuntu hasta donde yo se el Zen no esta disponible en esas

Linux tiene distintos directorios
/
/boot
/usr
/share
/home
/bin
Etc

Los kernels estan en /boot cuando instalas un kernel se añade un initrd y un vmlinuz tambien se añaden archivos a /lib/modules/kernel-extra.

ejecutar ls /boot ls /lib/modules/kernel

Solo se añaden archivos y se actualiza la config del bootloader.

1 me gusta

Dejo la guía en Cursos.