Até o Linux 2.6.22, bzImage contido:
- bbootsect (
bootsect.o): - bsetup (
setup.o) - bvmlinux (
head.o,misc.o,piggy.o)
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.
