Probar Parches
Una guía rápida para probar si un parche resuelve su problema.
Ocasionalmente, cuando se intenta resolver una cuestión en el kernel (particularmente una que sea específica a su hardware) se le puede pedir que aplique un parche para verificar que la cuestión está resuelta antes de incluir el parche.
Esta es una breve guía sobre como obtener la fuente del kernel de Fedora para su versión de Fedora, aplicar el parche y compilar el kernel para probar. Esta guía está dirigida a los usuarios que no están familiarizados con el proceso de desarrollo del kernel de Fedora y requiere solo un mínimo conocimiento de las herramientas asociadas.
Obtener Configuración
Primero, si no está ya instalado, debe instalar fedpkg (utilidad de empaquetado RPM de Fedora):
$ sudo dnf install fedpkg
Después, está yendo para obtener la espera del origen (este creará un subdirectorio nuevo de «kernel» y coloque todos los archivos necesarios allí):
fedpkg clone --anonymous kernel
Después, introduzca el directorio "kernel" creado:
cd kernel
Después de ingresar al directorio del kernel, debe cambiar a la rama de su versión actual de Fedora usando el siguiente comando donde "<fedora version>" es su versión de Fedora:
fedpkg switch-branch f<versión de fedora>
Para instancia, si está ejecutando Fedora 34, ejecutaría:
fedpkg switch-branch f34
Finalmente, debes agregarte al grupo "mock" usando el siguiente comando donde "<username>" es su nombre de usuario de Fedora:
usermod -a -G mock <usuario>
Para este cambio para tomar efecto puede salir y volver a entrar, o puede ejecutar la instrucción siguiente:
newgrp -
Aplicar El Parche
Para aplicar el parche, toma el archivo .patch que ha sido solicitado para aplicar, y guárdelo en el directorio “kernel” el paso anterior creado como:
linux-kernel-test.patch
Compilar Los Paquetes
Para compilar los paquetes del kernel, primero asegúrese de estar en el directorio “kernel”.
Este paso siguiente puede tomar un rato por tanto asegúrate que esperes hasta que obtuviésemos tiempo donde pueda su equipo funcionar.
Luego, ejecuta la instrucción siguiente:
fedpkg mockbuild
Finalmente, ve a disfrutar de una bebida caliente, sal a caminar, juega con tu perro o relájate de alguna manera y vuelve más tarde.
Instalar Los Paquetes
Para instalar los paquetes, primero asegúrese de estar en el directorio “kernel”. Desde allí, acceda al directorio “results_kernel”:
cd resultados_kernel
Este directorio contendrá un subdirectorio único que es el número de la versión del kernel. Utilice la instrucción ls para encontrar su nombre, por ejemplo:
ls 5.13.9
Introduzca este directorio:
cd 5.13.9
Repita este proceso una vez más:
ls 200.fc34 cd 200.fc34
Finalmente, puede ejecutar ls una vez más, verá un número de los archivos ".rpm". Como un ejemplo:
ls -1 build.log hw_info.log installed_pkgs.log kernel-5.13.9-200.fc34.x86_64.src.rpm kernel-5.13.9-200.fc34.x86_64.rpm kernel-core-5.13.9-200.fc34.x86_64.rpm kernel-debug-5.13.9-200.fc34.x86_64.rpm kernel-debug-core-5.13.9-200.fc34.x86_64.rpm kernel-debug-debuginfo-5.13.9-200.fc34.x86_64.rpm kernel-debug-devel-5.13.9-200.fc34.x86_64.rpm kernel-debuginfo-5.13.9-200.fc34.x86_64.rpm kernel-debuginfo-common-x86_64-5.13.9-200.fc34.x86_64.rpm kernel-debug-modules-5.13.9-200.fc34.x86_64.rpm kernel-debug-modules-extra-5.13.9-200.fc34.x86_64.rpm kernel-debug-modules-internal-5.13.9-200.fc34.x86_64.rpm kernel-devel-5.13.9-200.fc34.x86_64.rpm kernel-modules-5.13.9-200.fc34.x86_64.rpm kernel-modules-extra-5.13.9-200.fc34.x86_64.rpm kernel-modules-internal-5.13.9-200.fc34.x86_64.rpm root.log state.log
Retire todos los archivos .src.rpm con la instrucción siguiente:
rm *.src.rpm
El listado ahora parecería algo como esto:
ls -1 build.log hw_info.log installed_pkgs.log kernel-5.13.9-200.fc34.x86_64.rpm kernel-core-5.13.9-200.fc34.x86_64.rpm kernel-debug-5.13.9-200.fc34.x86_64.rpm kernel-debug-core-5.13.9-200.fc34.x86_64.rpm kernel-debug-debuginfo-5.13.9-200.fc34.x86_64.rpm kernel-debug-devel-5.13.9-200.fc34.x86_64.rpm kernel-debuginfo-5.13.9-200.fc34.x86_64.rpm kernel-debuginfo-common-x86_64-5.13.9-200.fc34.x86_64.rpm kernel-debug-modules-5.13.9-200.fc34.x86_64.rpm kernel-debug-modules-extra-5.13.9-200.fc34.x86_64.rpm kernel-debug-modules-internal-5.13.9-200.fc34.x86_64.rpm kernel-devel-5.13.9-200.fc34.x86_64.rpm kernel-modules-5.13.9-200.fc34.x86_64.rpm kernel-modules-extra-5.13.9-200.fc34.x86_64.rpm kernel-modules-internal-5.13.9-200.fc34.x86_64.rpm root.log state.log
Finalmente, instale todos los paquetes rpm dentro de este directorio utilizando dnf:
dnf install ./*.rpm
Probar El Kernel
Una vez todo está correctamente instalado, reinicie. El kernel que ha compilado automáticamente será seleccionado por GRUB cuando arranque su sistema. Simplemente conceda al equipo arrancar, y marcar para ver si su asunto ha sido resuelto.
Volver
Si ha acabado las pruebas, y le gustaría revertir al kernel anterior deseará reiniciar de nuevo. Este momento en que GRUB inicie, querrá seleccionar un kernel anterior (por ejemplo, en este caso compilamos 5.13.9, así que seleccionaríamos 5.13.8 del listado) utilizando las teclas de flecha.
Una vez que ha vuelto a arrancar, utilice las instrucciones siguientes para deshacer la instalación del kernel:
sudo dnf history undo last
Entonces se le solicitaría que retire los paquetes del kernel que acaba de ser instalado. Si ves otros paquetes, utilice el historial de dnf para encontrar la transacción a deshacer. Estás buscando el número en el inicio de una línea que incluye la versión del kernel que estuvo instalado:
dnf history --reverse ... 24 | install ./kernel-5.13.9-200.fc34.x86_64.rpm ... ...
Este número "24" entonces puede ser utilizado para deshacer a través de la instrucción a continuación:
sudo dnf history undo 24
Finalmente si reinicia, el kernel nuevo (p. ej., 5.13.9) ya parecería más en GRUB, y su kernel anterior estaría seleccionado automáticamente (ej., 5.13.8).
Want to help? Learn how to contribute to Fedora Docs ›