Tengo un kernel de Linux modificado que quiero ejecutar sobre un hipervisor. Hasta ahora siempre he estado usando uImage pero el script en el hipervisor requiere un ejecutable. ¿Cómo puedo crear un ejecutable binario a partir del código fuente de Linux? ¿Se crea vmlinux después de compilar el ejecutable binario final?
Respuesta1
vmlinux es un archivo ELF, no un binario.
La compilación del kernel puede crear zImage, que es un archivo binario. Puede encontrarlo en
$kernel/arch/arm/boot/zImage
en caso de ARM. Tenga en cuenta que zImage es un archivo binario comprimido zip y se adjunta un encabezado en la parte superior de zImage. Con este encabezado, zImage puede descomprimirse por sí solo.
Para ejecutar zImage, debe mover la PC (contador de programa) al primer punto de zImage.