Mais dúvidas em bzImage

4

A descrição do bzImage na Wikipedia está realmente me confundindo.

AfotoacimaédaWikipedia,masalinhaaoladoé:

ThebzImagefileisinaspecificformat:Itcontainsconcatenatedbootsect.o+setup.o+misc.o+piggy.o.

Nãoconsigoencontrarosoutros(misc.oepiggy.o)naimagem.
Eutambémgostariadeobtermaisclarezasobreessesarquivosdeobjeto.

Asinformaçõessobre esta postagem sobre por que não conseguimos inicializar um vmlinux arquivo também está realmente me confundindo.

Outra dúvida é sobre o System.map . Como ele é vinculado ao bzImage ? Eu sei que contém os símbolos de vmlinux antes de criar bzImage . Mas, no momento da inicialização, como bzImage é anexado ao System.map ?

    
por Sen 12.01.2011 / 03:15

1 resposta

4

Até o Linux 2.6.22, bzImage contido:

Linux 2.6.23 mesclou o bbootsect e o bsetup em um ( header.o ).

Na inicialização, o kernel precisa inicializar algumas seqüências (veja o arquivo de cabeçalho acima), que são necessárias apenas para colocar o sistema em um estado utilizável desejado. No tempo de execução, essas seqüências não são mais importantes (então, por que incluí-las no kernel em execução?).

System.map está em relação a vmlinux , bzImage é apenas o contêiner compactado, do qual vmlinux é extraído no tempo de inicialização (= > bzImage não se importa com System.map ).

O Linux 2.5.39 intruduziu CONFIG_KALLSYMS . Se ativado, o kernel mantém seu próprio mapa de símbolos ( /proc/kallsyms ).

System.map é o principal usado pelos programas de espaço do usuário, como klogd e ksymoops , para fins de depuração.

Onde colocar System.map depende dos programas de espaço do usuário que o consultam.
ksymoops tenta obter o mapa de símbolos de /proc/ksyms ou /usr/src/linux/System.map .
klogd pesquisas em /boot/System.map , /System.map e /usr/src/linux/System.map .

A remoção de /boot/System.map não gerou problemas em um sistema Linux com o kernel 2.6.27.19.

    
por 12.01.2011 / 20:31