El kernel principal ahora depende de libc6 2.33, ¿no se puede instalar en focal?

El kernel principal ahora depende de libc6 2.33, ¿no se puede instalar en focal?

He estado instalando felizmente los kernels principales 5.10 (desdehttps://kernel.ubuntu.com/~kernel-ppa/mainline/) en mi Ubuntu 20.04.

Al intentar actualizar a 5.10.33, descubrí una dependencia no deseada en libc >=2.33 (el foco está en 2.31) para el -headerspaquete (aunque no la imagen en sí, pero quién quiere vivir sin los encabezados).

AFAIK, libc6 es casi imposible de actualizar. ¿Es esto... es? ¿Estoy estancado en 5.10.32 a menos que abandone LTS? ¿Estas personas tienen siquiera un sitio público donde se puedan informar errores?

Actualizar: Este parece ser el principalerror de la plataforma de lanzamiento. Algo bueno que surgió de esto:tuxinvaderha ideado uncontenedor acoplable(fuente en Github:constructor-de-línea-principal-focal) para crear imágenes de la línea principal del kernel y cargó paquetes 5.10 - 5.12 en sus PPA:

Consejo: Para ver todos los paquetes de Linux disponibles para la serie/rango de versiones elegido, después de jugar con los PPA y tal vez con los backports de Debian, xanmod, etc. (como lo he hecho yo), haga algo como

apt update
printf '%s\0' linux-{image-unsigned,headers,modules}-5.10.{32..40} |
  xargs -0 -n 1 apt-cache pkgnames | LC_ALL=C sort | less

Esperemos que este problema desaparezca. Pero seamos realistas, dependiendo de los caprichos del "PPA principal del kernel" (o de quien esté detrás de él, todavía no lo entiendo).cómo se puede llegar a estos desarrolladores) para binarios no ha sido una experiencia agradable.

Respuesta1

Puedes quedarte con LTS, pero necesitaráscompila los núcleos principales tú mismopara superar el nuevo problema de dependencia.

La versión principal del compilador utilizada parece haber cambiado recientemente:

doug@s19:~/temp-k-git/linux$ scripts/diffconfig .config-5.12.0-051200rc6-lowlatency .config-5.12.0-051200-lowlatency
 CC_VERSION_TEXT "gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0" -> "gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0"
 GCC_VERSION 100200 -> 100300
 LD_VERSION 23501 -> 23601
+DEBUG_INFO_BTF_MODULES y
+PAHOLE_HAS_SPLIT_BTF y

Pero si simplemente tomo la configuración del kernel de Ubuntu y la compilo yo mismo, en mi servidor de prueba principal 20.04, se instala bien. Es decir, la dependencia es una función de la versión del compilador utilizada, no del código fuente del kernel.

No es realmente relevante, pero aquí está la diferencia de configuración de lo que compilé:

doug@s19:~/temp-k-git/linux$ scripts/diffconfig .config-5.12.0-051200-lowlatency .config
-DEBUG_INFO_BTF y
-DEBUG_INFO_BTF_MODULES y
-DEBUG_INFO_COMPRESSED n
-DEBUG_INFO_DWARF4 y
-DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT n
-DEBUG_INFO_REDUCED n
-DEBUG_INFO_SPLIT n
-GDB_SCRIPTS y
-PAHOLE_HAS_SPLIT_BTF y
 CC_VERSION_TEXT "gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0" -> "gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0"
 DEBUG_INFO y -> n
 GCC_VERSION 100300 -> 90300
 LD_VERSION 23601 -> 23400
 SYSTEM_TRUSTED_KEYS "debian/canonical-certs.pem" -> ""

Respuesta2

Así es como hice módulos dkms generados con el kernel 5.11.18 desde ubuntu mainline-kernel. Ejecuto Linux Mint 20.1 Cinnamon y uso nvidia-driver-460 versión 460.73.01-0ubuntu0.20.04.1 en dkms. El gcc que uso es la versión 10.3. Todo funcionó bien con la versión 5.11.16 genérica, pero se detuvo cuando probé la 5.11.18. Entonces traté de encontrar el problema por el cual dkms no compilaba los módulos del kernel. Esto es lo que hice:

  1. Kernel instalado 5.11.18-genérico
  2. Descubrí que en los encabezados del kernel el programa fixdep se relaciona con glibc 2.33.
  3. Descubrí que en los encabezados del kernel el programa modpost se relaciona con glibc 2.33.
  4. Se reemplazó /lib/modules/5.11.18-generic/build/scripts/basic/fixdep con el de 5.11.16
  5. Se reemplazó /lib/modules/5.11.18-generic/build/scripts/mod/modpost por el de 5.11.16
  6. Ejecutó dkms contra el kernel 5.11.18 (/usr/lib/dkms/dkms_autoinstaller start 5.11.18-051118-generic)
  7. Módulos del kernel de nvidia generados con éxito. Reiniciado y funciona bien. Incluso probé lo mismo con el kernel 5.12.1 y funcionó.

Espero que esto ayude.

Respuesta3

Pude instalar 5.12 en Ubuntu 20.04 con libc62.31 usando el ppa mencionado:

sudo add-apt-repository ppa:tuxinvader/lts-mainline

sudo apt install linux-image-unsigned-5.12.4-051204-generic linux-modules-5.12.4-051204-generic linux-headers-5.12.4-051204-generic

Respuesta4

Otra opción fácil para permanecer en 5.10, sin compilar, parece ser utilizar un kernel personalizado. Como xanmod. La cuestión es que no parecen poner mucho esfuerzo en mejorar el "rendimiento" de la serie LTS anterior, así quepensares posible que obtengamos un kernel bastante estándar. Por ejemplo, este es el registro dexanmod 5.10.35.

información relacionada