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 install
se 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 menuconfig
esta 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_TREE
en el directorio donde están sus fuentes. Verhttps://unix.stackexchange.com/a/147700/37538para referencia.