Este Kernel Real Time yo lo uso para hacer música, sobre aquello vea la siguiente entrada:
Cómo instalar y usar Jack Audio Connection Kit (JACK) + Ardour y sus plugins con un Kernel de Tiempo Real en MX Linux 21 (basado en Debian 11)
https://facilitarelsoftwarelibre.blogspot.com/2020/10/instalar-realtime-kernel-en-mx-linux.html
Requisitos de compilación
Buscando un Kernel antiguo pero actualizado
Necesito descargar un a esta fecha 2024-05-02 Kernel y para ver cual es el más antiguo y es el 4.19:
Longterm release kernels
https://www.kernel.org/category/releases.html
Longterm release kernels
Version Maintainer Released Projected EOL
6.6 Greg Kroah-Hartman & Sasha Levin 2023-10-29 Dec, 2026
6.1 Greg Kroah-Hartman & Sasha Levin 2022-12-11 Dec, 2026
5.15 Greg Kroah-Hartman & Sasha Levin 2021-10-31 Dec, 2026
5.10 Greg Kroah-Hartman & Sasha Levin 2020-12-13 Dec, 2026
5.4 Greg Kroah-Hartman & Sasha Levin 2019-11-24 Dec, 2025
4.19 Greg Kroah-Hartman & Sasha Levin 2018-10-22 Dec, 2024
Por qué descargar un Kernel antiguo para compilarlo?
Porque puede que tengan un ordenador antiguo y quiera que rinda mejor, ejemplo tengo un ordenador que fue comprado en el año 2008 y quiero usar MX Linux 21 a esta fecha que hago este tutorial Mayo del 2024, entonces necesito un Kernel lo más antiguo que se pueda instalar en este MX Linux 21 porque debe saber usted que un Kernel lo que tiene de importante es que funcionen el hardware de su ordenador y que sea seguro (esté actualizado), Nota: Los Kernel tienen una fecha en que ya no se les dará más soporte, y a este Kernel 5.10 también le pasará lo mismo, pero yo lo veo de esta forma, mientras una persona no navegue en paginas malas estará seguro así sea que use un Kernel sin las ultimas actualizaciones (recomiendo en ese caso cuando se termine el soporte es posible que yo lo siga usando y usaré: https://www.mywot.com/download u otro semejante) ademas que no hay que andar instalando cosas que no estemos seguros que sean seguras o no.
Buscando un parche Real Time
Me voy a descargar un parche Real Time desde:
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/
debo saber si hay uno 4.19:
Si usted es curioso y desea saber cómo obtuve este enlace pues es desde:
ese link es este:
pero al dar clic ese enlace se convierte en:
https://mirrors.edge.kernel.org/pub/
y allí clic a:
y allí clic a Kernel:
y allí clic a projects:
y allí clic a rt (Real Time):
y clic a al versión
4.19
si hay uno y entro allí y como se ve arriba con la fecha 2024, abajo también:
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.19/
y copio el enlace del parche:
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.19/patch-4.19.307-rt133.patch.xz
Nota: Este enlace con el paso del tiempo es muy posible que ya no esté porque o lo habrán actualizado o habrá salido del soporte.
Entonces como sé que existe el parche Real Time, entonces ahora si busco el Kernel correspondiente, pues es obvio que si hay un parche para ese Kernel entonces habrá el Kernel (por eso no hago la busqueda de primero el Kernel y luego del parque, porque es posible que el parche no haya para alguna versión de Kernel entonces por gusto perdería el tiempo)
Buscando el Kernel 4.19
Como ya tengo el enlace del Kernel, entro en:
https://mirrors.edge.kernel.org/pub/linux/kernel/
busco allí uno 4x:
y voy a buscar el Kernel con las siguientes palabras:
linux-4.19.
con
Crtl + F
buscaré el más actual:
y copio aquí el nombre y la descripción:
linux-4.19.309.tar.xz 06-Mar-2024 14:42 102M
la versión 309 es la más actualizada con la fecha 6 de marzo 2024 entonces esa la utilizaré, copio el enlace:
https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.19.309.tar.xz
DESCARGA DE AMBOS
Pongo en la terminal:
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.19/patch-4.19.307-rt133.patch.xz wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.19.309.tar.xz
Nota: Aconsejo abrir una terminal en una carpeta para tenerlos allí
Extracción y parchado del Kernel
Se puede descomprimir el Kernel con clic derecho y extraer aquí, o también desde la terminal con:
tar xJvf linux-4.19.309.tar.xz
como sea que usted descomprima el archivo debe que darle así:
debo entrar allí en una terminal con:
cd linux-5.9.1
si lo descomprimió desde la terminal y con clic derecho abrir terminal aquí, como sea que lo haya hecho hay que poner lo siguiente:
xzcat ../patch-4.19.307-rt133.patch.xz | patch -p1
Nota: Este comando usted para otro kernel lo debe de editar (cambiar toda la ruta hasta la extensión del nombre del parche)
De Enter y se parchará
Ahora debo copiar el archivo de configuración del Kernel del Sistema, poner en la terminal:
cp /boot/config-`uname -r` .config
y lo podemos ver copiado con Ctrl + H:
Añadir el nombre del Mantenedor o Responsable a su Sistema para que se compile con ese nombre (Opcional)
Esto es totalmente opcional, no es necesario para compilar el Kernel
Para hacer esto ponga en una terminal lo siguiente (teniendo instalado Gedit u otro editor pero debe cambiar el nombre en la terminal):
gedit ~/.bashrc
allí debe llegar hasta abajo y con enter hacerse un espacio::
y allí debe de poner lo siguiente:
DEBEMAIL="your.email.address@example.org"
DEBFULLNAME="Firstname Lastname"
export DEBEMAIL DEBFULLNAME
y cambiar con sus datos, a mi me queda así:
Instalando las dependencias
Instalar:
sudo apt-get install gcc build-essential libncurses5-dev fakeroot wget xz-utils \ flex bison libssl-dev autoconf automake cmake dwarves openssl libelf-dev \ libudev-dev libpci-dev libiberty-dev bc python3-sphinx lzop lzma \ lzma-dev libmpc-dev u-boot-tools gettext rsync
y luego abrir con clic derecho una terminal en el directorio del codigo fuente:
y poner:
make menuconfig
Nota: La ventana de la terminal hágala más larga para que aparezcan bien las opciones
Explicación de la ayuda.- Allí dice en inglés:
Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----).
Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features.
Press <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: [*] built-in [ ] excluded
<M> module < > module capable
Cuya traducción significa:
Las teclas de flecha se usan para navegar por el menú. <Enter> selecciona submenús ---> (o submenús vacíos ----).
Las letras resaltadas son teclas de acceso rápido. Presionar <Y> incluye, <N> excluye, <M> modulariza características.
Presione <Esc><Esc> para salir, <?> para Ayuda, </> para Buscar. Leyenda: [*] incorporado [ ] excluido
<M> módulo < > compatible con módulo
Nota: Una de las cosas importantes que dice es que para entrar en alguna opción que tenga sub opciones dar Enter, y para salir Esc dos veces.
El consejo que les doy es que no usen la tecla "Espacio" pues esa es para cambiar las opciones, y usted podría sin querer cambiar algo del Kernel y luego no sabría que cambió. Exepto que sepa lo que estuviera haciendo.
CONFIGURAR EL TIEMPO REAL
https://wiki.linuxaudio.org/wiki/system_configuration#do_i_really_need_a_real-time_kernel
# Enabled CCONFIG_NO_HZ_IDLE
# Enabled CONFIG_HIGH_RES_TIMERS
# Enabled CONFIG_PREEMPT_RT
# Enabled CONFIG_HZ_1000
# Enabled CPU_FREQ_DEFAULT_GOV_PERFORMANCE
Do you wish to save your new configuration? │
│ (Press <ESC><ESC> to continue kernel configuration.)
que traducido:
¿Desea guardar su nueva configuración? │
│ (Presione <ESC><ESC> para continuar con la configuración del kernel).
le doy Enter pues está en YES
y me dice que las configuraciones han sido escritas al archivo:
.config
Verifica si tiene soporte exFAT
Este Kernel si tiene soporte en:
--> File Systems
---> DOS/FAT/exFAT
Añadiendo el soporte del sistema de archivos exFAT a un Kernel 4.x
menu "DOS/FAT/NT Filesystems"
y modificar el archivo dentro de la carpeta:
obj-$(CONFIG_FAT_FS) += fat/
obj-$(CONFIG_BFS_FS) += bfs/
https://askubuntu.com/questions/1116264/exfat-micro-sd-not-detected-ubuntu-18-04-1
Do you wish to save your new configuration? │
│ (Press <ESC><ESC> to continue kernel configuration.)
que traducido:
¿Desea guardar su nueva configuración? │
│ (Presione <ESC><ESC> para continuar con la configuración del kernel).
le doy Enter pues está en YES
y me dice que las configuraciones han sido escritas al archivo:
.config
Bien, este tutorial lo estoy contruyendo, los siguientes pasos están adaptados desde:
Sigamos con el tutorial
ELEGIR LA VELOCIDAD DE COMPILACIÓN (OPCIONAL)
Este paso es opcional, podemos exportar el nivel de concurrencia para la compilación *(Concurrencia es la acción de concurrir distintos sucesos o cosas en un mismo lugar o tiempo)*, para esto existen las siguientes opciones dependiendo de la cantidad de procesadores que usted tenga, para esto hay una regla la de agregar el número uno al número de núcleos que tenga su procesador, ejemplo:
Si usted tenga 2 núcleos debe poner
export CONCURRENCY_LEVEL=3
Si usted tenga 4 núcleos debe poner
export CONCURRENCY_LEVEL=5
Así mi laptop es una Dell Inspiron 1750 y tiene dos núcleos así yo debo de poner así:
export CONCURRENCY_LEVEL=3
esto es para que la compilación no se demore mucho
Evitar el error dpkg-buildpackage: fallo: debian/rules build subprocess returned exit status 2
Busque en el archvio .config que está oculto, para verlo ponga en Thunar el atajo de teclado:
Ctrl + H
y abralo con algún editor de texto:
y búsque:
debian-uefi-certs.pem
y borre:
debian/certs/debian-uefi-certs.pem
y debe quedar así:
guardar y cerrar.
Compinado el Kernel etiquetandolo
Es posible Compilar el Kernel y ponerle una etiqueta como descripción. En el siguiente ejemplo en LOCALVERSION= está la etiqueta debian11:
make deb-pkg LOCALVERSION=-debian11rt KDEB_PKGVERSION=$(make kernelversion)-1
si se pone eso en la terminal con esa etiqueta será compilado el Kernel y eso aparecerá en el deb
yo le voy a poner así (debe ser sin ningún espacio) para saber que fue compilado en Debian 11 y que es un Kernel Real Time
y doy ENTER
cuando ya fueron generados automáticamente los deb:
y para instalarlos sugiero hacer lo siguiente:
INSTALACIÓN DE LOS DEB DEL KERNEL
Fueron generados cuatro deb en el directorio anterior:
sólo necesitamos dos los que tienen en el nombre headers e image, menos el archivo que termina en debg y el que contiene libc-dev, así que lo mejor es que cojamos esos dos y los pongamos a parte:
Requerimientos para instalar en otro Linux recién instalado
sudo apto install gcc dkms
pues sino no se podrá instalar
luego reiniciar
Eligiendo el Kernel RT
Al iniciar el Sistema Operativo de clic en la opción Avanzada del Grub y allí elija el kernel que hemos compilado
Probando si coge mi tarjeta SD
Quería probar los dos puesto que mi laptop Dell Inspiron 1750 tiene una tarjeta lectora de Memorias SD y funciona bien, que bueno (es que a veces esa tarjetal lectora no funciona en algún Kernel y sin ella no puedo usarla y para mi es imprescindible)
Lo estoy probando y hasta el momento me funciona bien
Dios les bendiga
CONSULTAS
No se puede montar partición exFAT en algún tipo de Linux porque el Kernel u otro no tiene soporte
https://facilitarelsoftwarelibre.blogspot.com/2023/02/no-se-puede-montar-particion-exfat-en-kernel-linux.html
Compilando Kernel de AV Linux en MX Linux 21 de (32 bits y 64 bits)
https://facilitarelsoftwarelibre.blogspot.com/2022/04/compilando-kernel-de-av-linux-en-mx.html
Debian build fail due debian/certs/debian-uefi-certs.pem #54
https://github.com/Frogging-Family/linux-tkg/issues/54
Comentarios
Publicar un comentario