Actualmente tengo un portatil con un Ryzen 5500U el cual se basa en la arquitectura Zen2, por lo que utilizo un kernel personalizado para este CPU que se encuentra disponible en AUR y es mantenido por eggz (NhaMeh), el pkg se llama linux-amd-znver2. La instalación es muy simple, al ser un paquete de AUR utilizaremos yay o el AUR helper que utilices. Debo aclara que este método descarga y compila el kernel por lo que dependiendo de la velocidad de tu internet, hardware y configuración, tardará más o menos tiempo.
yay -S linux-amd-znver2
Básicamente es todo, sólo debemos esperar a que el proceso termine y tendremos instalado el kernel. Adicionalmente si necesitas las cabeceras recuerda instalar el paquete linux-amd-znver2-headers.Si eres de los que no les gusta compilar, puedes agregar el repo donde se encuentran los binarios además de más kernels para testear.
Abrimos el archivo pacman.conf.sudo nano /etc/pacman.conf
Agregaremos el repo.
[linuxkernels]
Server = http://nhameh.ovh/$repo/$arch
SigLevel = Optional TrustAll
sudo pacman -Syy
Deberíamos ver el nuevo repo en la salida de la consola. Bien, de estas dos forma es que podemos tener el kernel personalizado para cualquier CPU que sea arquitectura Zen2 de AMD. Si tienes un CPU de arquitectura Zen3 tienes en el mismo repo el kernel linux-amd el cual está optimizado para esa arquitectura.Este repo tiene mas kernels para probar, Para listarlos utilizaremos la siguiente orden.
pacman -Sl linuxkernels
Para conocer la descripción de cada kernel usaremos la siguiente orden.pacman -Si pkg_name
Como último paso, debemos actualizar las entradas que genera el grub. Esto lo hacemos con la siguiente orden.sudo grub-mkconfig -o /boot/grub/grub.cfg
B O N U S :
Optimización del proceso de compilación.
Para optimizar la compilación ajustaremos al archivo makepkg.conf. abrimos el archivo.sudo nano /etc/.makepkg.conf
Cambiaremos los siguientes ajustes en CFLAGS.-march=generic a -march=native
Básicamente al cambiar el parámetro generic a native, hacemos que GCC trate de identificar automáticamente nuestro CPU para utilizar las flags adecuadas para optimizar la compilación para nuestro CPU. Si eres desarrollador ya imaginas que pasa al habilitar este parametro, si no lo eres, no te preocupes.Si quieres ver como GCC identifica tu CPU utiliza la siguiente orden y observa la salida de -mtune.
gcc -v -E -x c /dev/null -o /dev/null -march=native 2>&1 | grep /cc1 | grep mtune
Mi CPU Ryzen 5500u es identificado como znver2. Aquí observamos porqué instalo este kernel.Editaremos la opción MAKEFLAGS para ajustarla al punto de que nos de el mejor rendimiento. En mi equipo, la mejor opción es -j8.
Más información en la wiki de arch.P R E C A U C I Ó N :
Recientemente se descubrió que pueden introducir paquetes maliciosos en AUR mediante dominios caducados. Más información aquí. No insinúo que este kernel sea malicioso por venir de AUR pero sí que debemos tener cuidado con lo que instalemos.
Gracias por tu visita
0 comentarios:
Publicar un comentario