qual é a diferença entre vmlinuz vs zImage? [duplicado]

4

O que eu sei (corrija se meu entendimento estiver errado):

vmlinuz : é uma imagem Linux inicializável e auto-extraível. Sempre ELF? Gerado como?

zImage (ou bzImage) : imagem do Linux compactada, autoextraível e inicializável. Sempre binário. Gerado por "make zImage".

Algumas fontes dizem que é a mesma imagem, por exemplo: aqui e aqui .

mas não parece. Eu construí o projeto Openwrt incorporado e obtive esta informação ao fazer "file vmlinuz":

vmlinuz: ELF 32-bit MSB  executable, MIPS, MIPS32 rel2 version 1 (SYSV), statically linked, stripped

como pode ser visto, ele está no formato ELF e NÃO é um binário como zImage.

para adicionar à confusão, quando eu me leio no meu Ubuntu vmlinuz, entendo que não é um arquivo ELF.

    
por Rahlis Alexander 14.04.2016 / 17:02

1 resposta

1

vmlinuz é o mesmo.

Você notará isso se alguma vez executar make install . O zImage ou bzImage é o que está instalado em /boot/vmlinuz-$VERSION .

Parece que algumas arquiteturas o envolvem como ELF (e outras não). Linux em x86 provavelmente preso sem ELF para compatibilidade com o bootloader, por exemplo LILO, syslinux etc. E talvez eles não prefiram como o GRUB carrega arquivos ELF, não sei. Em outras arquiteturas, ele pode estar preso ao ELF pelo mesmo motivo. Observe que a imagem descompactada sempre será ELF (consulte por exemplo ).

    
por 14.04.2016 / 17:50