Error "Módulos no encontrados" durante la instalación del kernel

Error "Módulos no encontrados" durante la instalación del kernel

Tengo una pregunta sobre la instalación del kernel. Descargué una nueva versión del código fuente del kernel net-next y realicé los siguientes pasos:

  • make allyesconfig
  • make -j16
  • make modules_install
  • make install

El problema es que cuando intento ejecutar make install, aparece el error "módulos no encontrados". Estoy confundido porque alguien más pudo crear el kernel con el mismo procedimiento y yo no puedo hacer lo mismo (ambos tenemos permiso de root). ¿Hay algo adicional que deba hacer para asegurarme de que esos módulos estén visibles/disponibles?

Respuesta1

Cuando make installse invoca, invocará un script específico de la distribución para construir initrd.img, este script buscará todos los módulos que requiere esta distribución, pero debido a que acaba de compilar todos los módulos en el kernel como integrados a través de make allyesconfig, el script No se pudieron buscar módulos.

No puedo reproducir su problema en este momento, recuerdo que "módulos no encontrados" son solo advertencias, siempre lo ignoro porque initrd.img se creó exitosamente y el nuevo kernel se inició exitosamente. Si falla en "módulos no encontrados", debe reconfigurar dichos módulos desde módulos integrados a módulos cargables reales manualmente de make menuconfigesta manera: el mensaje "módulos no encontrados" contiene el nombre del módulo, use el nombre para buscar Makefiles para averiguar qué CONFIG_XXX y convertir ese CONFIG_XX en =m.

Por último, si solo desea un kernel recién creado, le sugiero que utilice la configuración de distribución make allyesconfig:

cd your_kernel_src
cp /boot/your_distribution_config .config
make menuconfig             # can exit it directly with nothing changed
make -j16
make modules_install
make install
# update the grub, if it is required for your distribution.

Respuesta2

Compilaste el kernel con Plain make, pero no los módulos. Correr make -j16 all modules.

Respuesta3

Debe asegurarse de que la cadena de herramientas conozca el árbol de fuentes del kernel con el que está trabajando. Debe configurar la variable de entorno KERNEL_TREEen el directorio donde están sus fuentes. Verhttps://unix.stackexchange.com/a/147700/37538para referencia.

información relacionada