Saltar al contenido

Instale el parche RT Linux para Ubuntu

Solución:

Paso 0: crea un directorio de trabajo

Hacer un directorio de trabajo

#Move to working directory
mkdir ~/kernel && cd ~/kernel

Paso 1: descargue el kernel y el parche

Vaya a https://www.kernel.org/pub/linux/kernel/ y descargue la versión deseada del kernel en ~ / kernel. Del mismo modo, vaya a https://www.kernel.org/pub/linux/kernel/projects/rt/ y descargue el parche RT con la misma versión que la versión descargada del kernel. El kernel y el parche que utilicé fueron linux-4.9.115.tar.gz y patch-4.9.155-rt93.patch.gz.

Paso 2: descomprime el kernel

tar -xzvf linux-4.9.115.tar.gz

Paso 3: parchear el kernel

#Move to kernel source directory
cd linux-4.9.115
gzip -cd ../patch-4.9.115-rt93.patch.gz | patch -p1 --verbose

Paso 4: habilite el procesamiento en tiempo real
Este paso requiere libncurses-dev

sudo apt-get install libncurses-dev libssl-dev

El siguiente comando lanza un menú gráfico en la terminal para generar el archivo de configuración.

make menuconfig

Vaya a la ubicación y realice los cambios correspondientes

##Graphical Menu##

Processor type and features ---> [Enter]
Preemption Model (Voluntary Kernel Preemption (Desktop)) [Enter]
Fully Preemptible Kernel (RT) [Enter] #Select

[Esc][Esc]

Kernel hacking --> [Enter]
Memory Debugging [Enter]
Check for stack overflows #Already deselected - do not select


[Esc][Esc]


[Right Arrow][Right Arrow]

<Save> [Enter]

.config

<Okay> [Enter]

<Exit> [Enter]


[Esc][Esc]


[Right Arrow]
<Exit> [Enter]

Paso 5: compila el kernel

make -j20
sudo make modules_install -j20
sudo make install -j20

Paso 6: verificar y actualizar
Verifique que initrd.img-4.9.115-rt93, vmlinuz-4.9.115-rt93 y config-4.9.115-rt93 se generen en el directorio / boot y actualice el archivo grub.

cd /boot
ls
sudo update-grub

Verifique que haya un menú que contenga el texto “menuentry ‘Ubuntu, con Linux 4.9.115-rt93′” en /boot/grub/grub.cfg expediente

Para cambiar el kernel predeterminado en grub, edite el GRUB_DEFAULT valor en /etc/default/grub a su kernel deseado.

NOTA: 0 es el primer menuentry

7 – Reiniciar y verificar

sudo reboot

Una vez que el sistema se reinicia, abre la terminal y usa uname -a para comprobar la versión del kernel, debería tener el siguiente aspecto

Linux abhay-home 4.9.115-rt93 #1 SMP PREEMPT RT Mon May 13 03:32:57 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux

Nota: “SMP PREEMPT RT” valida que su sistema esté ejecutando el kernel en tiempo real.

Aquí está para Ubuntu 19.10 y superior y parcheé el parche del kernel de Linux 5.4.5 rt porque Linux 5.3, la base de Ubuntu 19.10, no tiene un parche de kernel rt.

0. Crea un directorio de trabajo

# Make dir and move to working directory
$ mkdir ~/kernel && cd ~/kernel

1. Descarga el kernel y el parche

Descargue el kernel y el parche rt de https://www.kernel.org/. Puede obtener estos a continuación:

(kernel) https://www.kernel.org/pub/linux/kernel/
(parche rt) https://www.kernel.org/pub/linux/kernel/projects/rt/

Tenga en cuenta que la versión del parche rt y el kernel deben ser iguales. solía linux-5.4.5.tar.gz y parche-5.4.5-rt3.patch.gz.

Si los descarga en ~ / kernel, salte a continuación y continúe con el paso 2.

# Move these zip file to ~/kernel
$ cd ~/Download
$ mv linux-5.4.5.tar.gz patch-5.4.5-rt3.patch.gz ~/kernel/.

2. Extraiga las fuentes del kernel y parchee el kernel rt

# Extract kernel sources
$ cd ~/kernel
$ tar xvzf linux-5.4.5.tar.gz

# Patch rt kernel
$ cd linux-5.4.5
$ gzip -cd ../patch-5.4.5-rt3.patch.gz | patch -p1 --verbose {}

3. Instale los paquetes necesarios

Para usar la GUI de menuconfig, libncurses-dev es requerido. flex y bison será necesario cuando compile el kernel.

# For using gui
$ sudo apt install libncurses-dev libssl-dev

# For compiling kernel
$ sudo apt install flex bison

4. Configure el kernel para RT

$ make menuconfig

e ingrese a la GUI de menuconfig.

# Make preemptible kernel setup
General setup ---> [Enter]
Preemption Model (Voluntary Kernel Preemption (Desktop)) [Enter]
Fully Preemptible Kernel (RT) [Enter] #Select

# Select <SAVE> and <EXIT>
# Check .config file is made properly

Tenga en cuenta que no hay Check for stack overflows opción en la configuración de la GUI. Puede comprobarlo buscando “desbordamiento”. Escribe / y overflow en el menú gráfico.

5. Compile el kernel

$ make -j20
$ sudo make modules_install -j20
$ sudo make install -j20

6.Hacer que las imágenes del kernel sean más claras

Como @ mrRo8o7 dijo antes, grande initrd imagen puede ocurrir pánico del núcleo. Entonces puede resolver este problema de la siguiente manera:

# Strip unneeded symbols of object files
$ cd /lib/modules/5.4.5-rt3  # or your new kernel
$ sudo find . -name *.ko -exec strip --strip-unneeded {} +

# Change the compression format
$ sudo vi /etc/initramfs-tools/initramfs.conf
# Modify COMPRESS=lz4 to COMPRESS=xz (line 53)

COMPRESS=xz 

[:wq]

luego actualiza initramfs

$ sudo update-initramfs -u

7. Verificar y actualizar grub

Verifique ese directorio y actualice el grub.

# Make sure that initrd.img-5.4.5-rt3, vmlinuz-5.4.5-rt3, and config-5.4.5-rt3 are generated in /boot
$ cd /boot
$ ls

# Update grub
$ sudo update-grub

8. Reinicie y verifique

$ sudo reboot

# After the reboot
$ uname -a

entonces puedes verificar tu nueva versión del kernel

Linux [PROMPT] 5.4.5-rt3 …

Después de instalar el nuevo kernel (como publicó @Abhay Nayak), entré en pánico en el kernel. El problema era que la imagen initrd era demasiado grande. Lo resolví con:

Paso 1: quitar los módulos del kernel

cd /lib/modules/<new_kernel>
find . -name *.ko -exec strip --strip-unneeded {} +

Paso 2: cambia la compresión initramfs

Edite el archivo /etc/initramfs-tools/initramfs.conf:

COMPRESS=xz

Paso 3: actualiza initramfs

sudo update-initramfs -u
sudo update-grub2
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *