Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:debian:debian_krn [2025/06/01 15:52] – [Preparando nuestro sistema] rabinformatica:debian:debian_krn [2025/06/15 17:26] (actual) – [Integrando los Módulos al nuevo kernel] rab
Línea 1: Línea 1:
-====== Kernel nuevo en Debian-12 ======+====== Kernel-6.14.11 en Debian-12 ======
 {{:servicios:informaticos:debian-logo.png?200 |Logo Debian}} {{:servicios:informaticos:debian-logo.png?200 |Logo Debian}}
-Actualmente podemos bajar el [[https://www.kernel.org|Kernel-6.15]] que se encuentra disponible como versión estable, en nuestro caso  la versión [[https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.15.tar.xz|Linux-6.15]] que procedemos a descargar.+Actualmente podemos bajar desde [[https://www.kernel.org|Kernel.org]] que se encuentra disponible la versión estable, en nuestro caso  la versión [[https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.14.11.tar.xz|Kernel-linux-6.14.11]] que procedemos a descargar.
  
 Para poder descargar el código fuente, debemos abrir un terminal logearnos como **root**, y debemos ejecutar los siguientes comandos: Para poder descargar el código fuente, debemos abrir un terminal logearnos como **root**, y debemos ejecutar los siguientes comandos:
Línea 8: Línea 8:
   # mkdir kernel   # mkdir kernel
   # cd kernel   # cd kernel
-  # wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.15.tar.xz +  # wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.14.11.tar.xz 
-  # tar -Jxvf linux-6.15.tar.xz +  # tar -Jxvf linux-6.14.11.tar.xz 
-  # cd linux-6.15+  # cd linux-6.14.11
  
  
Línea 76: Línea 76:
  
  
-  root@athos:~/linux-6.15# time make modules  -j36 +  root@athos:~/linux-6.14.11# time make modules  -j36 
-  mkdir -p /root/linux-6.15/tools/objtool && make O=/root/linux-6.15 subdir=tools/objtool --no-print-directory -C objtool +  mkdir -p /root/linux-6.14.11/tools/objtool && make O=/root/linux-6.14.11 subdir=tools/objtool --no-print-directory -C objtool 
     INSTALL libsubcmd_headers     INSTALL libsubcmd_headers
     CALL    scripts/checksyscalls.sh     CALL    scripts/checksyscalls.sh
Línea 84: Línea 84:
   user  1m28,815s   user  1m28,815s
   sys   0m25,654s   sys   0m25,654s
-  root@athos:~/linux-6.15#+  root@athos:~/linux-6.14.11#
  
  
Línea 90: Línea 90:
  
  
-  root@athos:~/linux-6.15# time make modules_install  -j36+  root@athos:~/linux-6.14.11# time make modules_install  -j36
      
   real  0m7,777s   real  0m7,777s
   user  2m25,998s   user  2m25,998s
   sys   0m26,824s   sys   0m26,824s
-  root@athos:~/linux-6.15#+  root@athos:~/linux-6.14.11#
  
  
Línea 107: Línea 107:
  
 <WRAP center round notice 80%> <WRAP center round notice 80%>
-**IMPORTANTE** +**IMPORTANTE:** 
- No reinicie su maquina, sin antes realizar los cambios siguientes, ya que si no los hace, su máquina quedara con un **Error: sin memoria** al momento de cargar el nuevo kernel.+No reinicie su maquina, sin antes realizar los cambios indicados a continuación, ya que si no los hace, su máquina quedará con un mensaje  **Error: sin memoria** al momento de cargar el nuevo kernel.
 </WRAP> </WRAP>
  
Línea 116: Línea 116:
  
  
-  nvim /etc/initramfs-tools/initramfs.conf+  nvim /etc/initramfs-tools/initramfs.conf 
 +   
 +  // Valores por defecto:
   MODULES=most   MODULES=most
   COMPRESS=zstd   COMPRESS=zstd
      
-  Y las cambiamos por:+  //los debe modificar a:
   MODULES=dep   MODULES=dep
   COMPRESS=xz   COMPRESS=xz
  
 +o tambien puede ejecutar:
 +
 +  # sd MODULES=most  MODULES=dep /etc/initramfs-tools/initramfs.conf
 +  # sd COMPRESS=zstd COMPRESS=xz /etc/initramfs-tools/initramfs.conf
 +  
  
 Con esto queda resuelto el problema del **Error: sin memoria**, pero además necesitamos que los cambios sean aplicados: Con esto queda resuelto el problema del **Error: sin memoria**, pero además necesitamos que los cambios sean aplicados:
Línea 130: Línea 137:
   # update-grub2   # update-grub2
  
 +Una vez que haya ejecutado como **root** los comandos precedentes, podrá reiniciar su maquina y esta se iniciará sin problemas, con su nuevo kernel y adaptado a las características de su propia máquina, lo cuan siempre es una ventaja.
 ===== Eliminar los kernels antiguos ===== ===== Eliminar los kernels antiguos =====
  
Línea 154: Línea 161:
 Y finalmente debemos reiniciar nuestra maquina, para que parte con el nuevo kernel que hemos compilado. Y finalmente debemos reiniciar nuestra maquina, para que parte con el nuevo kernel que hemos compilado.
  
 +===== Problemas de Compilacion con Driver NVidia =====
 +Cuando compilamos un kernel nuevo y tenemos en nuestro sistema una tarjeta NVidia, lo normal es que al momento de realizar un //make install//, es dar un error al tratar de instalar ese kernel, independiente del tipo de version que este instalan.
 +
 +El error que da, es similar a este:
 +
 +  # make install
 +  INSTALL /boot
 +  run-parts: executing /etc/kernel/postinst.d/dkms 6.14.11 /boot/vmlinuz-6.14.11
 +  dkms: running auto installation service for kernel 6.14.11.
 +  Sign command: /lib/modules/6.14.11/build/scripts/sign-file
 +  Signing key: /var/lib/dkms/mok.key
 +  Public certificate (MOK): /var/lib/dkms/mok.pub
 +  
 +  Building module:
 +  Cleaning build area...
 +  env NV_VERBOSE=1 make -j36 modules KERNEL_UNAME=6.14.11...(bad exit status: 2)
 +  Error! Bad return status for module build on kernel: 6.14.11 (x86_64)
 +  Consult /var/lib/dkms/nvidia-current/535.247.01/build/make.log for more information.
 +  Error! One or more modules failed to install during autoinstall.
 +  Refer to previous errors for more information.
 +  dkms: autoinstall for kernel: 6.14.11 failed!
 +  run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
 +  make[1]: *** [arch/x86/Makefile:321: install] Error 1
 +  make: *** [Makefile:251: __sub-make] Error 2
 +
 +Estas enfrentando un problema comun cuando DKMS intenta compilar automaticamente los modulos del controlador NVIDIA tras instalar un nuevo kernel personalizado (en este caso, 6.14.11 en Debian 12). El proceso de //make install// falla debido a que el modulo de NVIDIA no es compatible o no puede compilarse correctamente con ese nuevo kernel.
 +
 +El mensaje clave es:
 +
 +  Error! Bad return status for module build on kernel: 6.14.11 (x86_64)
 +  Consult /var/lib/dkms/nvidia-current/535.247.01/build/make.log for more information.
 +
 +Puedes tratar de ver el error en los log's con el comando:
 +
 +  less /var/lib/dkms/nvidia-current/535.247.01/build/make.log
 +
 +Y buscar un error como:
 +
 +  * fatal error: xxxx.h: No such file or directory
 +  * unknown symbol o problemas de API del kernel
 +
 +Este log te dira si el modulo necesita parches o si es una incompatibilidad directa.
 +
 +==== Solucion que me funciono ====
 +Una de las posibilidades de solucion es deshabilitar la compilacion automatica de los modulos (NVidia en este caso) al instalar el kernel, para deshabilitar usamos el comando:
 +
 +  # mv /etc/kernel/postinst.d/dkms /etc/kernel/postinst.d/dkms.disabled
 +
 +Una vez hecho esto, debemos volver a ejecutar:
 +
 +  # make install
 +
 +Esto instalara el nuevo kernel sin tratar de compilar de nuevo el modulo de NVidia.
 +
 +Una vez instalado el nuevo kernel, debemos reiniciar el computador, pero debemos tener en cuenta que el sistema no podra levantar el ambiente grafico porque no hemos instalado los modulos de NVidia.
 +
 +Una vez que se ha reiniciado, nos presentara un terminal en texto, nos logearemos como root, nuevamente y ejecutaremos en el terminal:
 +
 +  # dkms autoinstall
 +
 +Esto buscara los modulos de NVidia de la version del kernel-6.14.11 e instalara esos modulos en el nuevo kernel, hay que tener en cuenta que si usamos la ultima version del kernel de linux, es muy posible que los modulos de NVidia, aun no esten liberados para ser instalados en esa version del kernel, asi que hay que tener esto en cuenta.
 +
 +Si este es tu caso, considera bajar a una version inmediatamente inferior del kernel y repetir el proceso. Es muy posible que ahi ya tengas los modulos liberados para ser instalados.
 +
 +Ahora deberemos restaurar //dkms// al terminar este proceso, esto lo hacemos con:
 +
 +  # mv /etc/kernel/postinst.d/dkms.disabled /etc/kernel/postinst.d/dkms
 +
 +Este dejara habilitada la opción de la compilcion automatica de los modulos para el kernel.
  
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki