Después de configurar y construir el kernel usando make, ¿por qué no tengo vmlinuz-<version>-default.imgy initrd-<version>.imgsolo tengo un vmlinuxbinario enorme (~ 150 MB)?
Las imágenes comprimidas están debajo arch/xxx/boot/, donde xxxestá el arco. Por ejemplo, para x86y amd64, tengo una imagen comprimida en /usr/src/linux/arch/x86/boot/bzImage, junto con /usr/src/linux/vmlinux.
Si aún no tiene la imagen, verifique si bzip2está instalada y funcionando (pero supongo que si ese fuera el problema, obtendría un mensaje de error descriptivo, como "bzip2 no encontrado").
Además, la configuración del kernel le permite elegir el método de compresión, por lo que el nombre real del archivo y el algoritmo de compresión pueden diferir si cambia la configuración del kernel.
Como otros ya mencionaron, los initrds no son generados por el proceso de compilación de Linux, sino por otras herramientas. Tenga en cuenta que a menos que, por alguna razón, necesite archivos externos (por ejemplo, necesita módulos o udev para identificar o montar /), no necesita un initrd para arrancar.
Según la documentación:
http://tldp.org/LDP/lame/LAME/linux-admin-made-easy/kernel-custom.html
Cuando tu lo hagas:
hacer bzImage
y entonces:
cp bzImage vmlinuz
para crear el archivo vmlinuz. Es decir, son el mismo archivo :-).
make bzImage? Además, ¿hiciste un núcleo monolítico? ¿Estás ejecutando un SO similar a Debian? Si es así, y no está compilando de forma cruzada, hay formas más fáciles de construir un núcleo.kernel.org). Despuésmake menuconfig, escribímakey dejé que hiciera el trabajo.make bzImagegenerar el núcleo bzImage. Dimake helppara ver algunas breves instrucciones. Consulte el Cómo del kernel de Linux para obtener instrucciones detalladas. Si respondió todas lasmake menuconfigpreguntas con Y (en lugar de M cuando corresponde), ha intentado incluir todos los controladores en el núcleo propiamente dicho. Esta es una muy, muy mala idea y el núcleo no arrancará porque es demasiado grande. Lainitrdimagen es generada por otras herramientas.