Desde la parte superior...
make
compila y vincula la imagen del núcleo. Este es un archivo único llamado vmlinuz
.
make modules
compila archivos individuales para cada pregunta que respondió M
durante la configuración del kernel. El código objeto está vinculado a su núcleo recién construido. (Para las preguntas respondidas Y
, estas ya son parte de vmlinuz
, y para las preguntas respondidas N
se omiten).
make install
instala tu kernel integrado en /vmlinuz
.
make modules_install
instala los módulos del kernel en /lib/modules
o /lib/modules/<version>
.
En cuanto a agregarlo a la lista de núcleos disponibles, el gestor de arranque se encarga de eso. Es diferente para cada gestor de arranque, pero grub
es el más común en x86 y amd64, así que lo describiré. En realidad es bastante simple. Grub busca y /
, para cualquier cosa que parezca que podría ser un núcleo en funcionamiento, lo agrega. Y sí, esta es una descripción demasiado simplificada./boot
/lib/modules
Esas "cosas horribles" adicionales en la documentación de Ubuntu son cosas adicionales para crear un deb
paquete. Cuando lo hace por más que usted, es mucho mejor empaquetarlo. Cambiarás a tiempo.
La construcción del kernel y los módulos se mantiene separada porque para las personas que lo necesitan (es decir, los desarrolladores del kernel) a menudo solo realizan cambios en un módulo. Pueden aplicar sus cambios, reconstruir e instalar solo los módulos. Esto ahorra mucho tiempo cuando tiene que hacerse 20 veces al día. Nunca se actualizará para tener un solo make everything
comando. En su lugar, ejecuta make && make modules && make install && make modules_install
como la documentación dice hacer . El proceso de compilación favorece a los desarrolladores del kernel, no a ti. Y así es como debe ser.
En realidad, casi no hay razón para que nadie, excepto los desarrolladores del núcleo o los empaquetadores de distribución, compilen un núcleo. En casi cualquier circunstancia, la característica del núcleo que desea ya se ha creado para usted y está disponible en uno de los núcleos preempaquetados. Hay excepciones, pero son extremadamente raras en estos días.
No es que te esté desanimando de construir tu propio núcleo, en realidad te animo a que lo hagas. Creo que construir su núcleo desde cero es una práctica invaluable para aprender cómo funciona todo allí. En parte, porque quizás algún día serás la excepción que necesita. Pero también le enseña mucho sobre el proceso de kernel y arranque en general. Serás una mejor persona por haberlo hecho.