Onde no código-fonte do GRUB2 está a entrega / salto para o código do kernel?


11

Eu estou procurando a linha de código em que o GRUB2 finalmente salta para o código do kernel e, portanto, entrega a execução em sistemas x86? Eu acho que está em um arquivo assembler, já que esse é um material de arquitetura muito baixa. Eu olhei os arquivos de origem /grub-core/boot/i386/pc/*.Se encontrei um JMPno boot.S na linha 455, mas kernel_addresspoderia ser o endereço do kernel do GRUB2 na memória e não o kernel do linux.

Alguém com conhecimento de montagem e GRUB2 que pode me ajudar?


Você acompanhou os parâmetros do kernel?
Phk

1
Não posso adicionar muito aqui, pois estou postando a partir de um telefone, mas acho que, com base no que me lembro dos compatíveis com PC e GRUB2, ele carrega a imagem do kernel na memória em 0x900000 (modo real), sendo 0x0c000000 o o endereço saltou para quando você sai do modo real para o modo protegido. Este foi em um sistema EFI com "inicialização confiável", no entanto, para que eu pudesse estar incorreto. Talvez sua initrdimagem contenha pistas?
precisa saber é o seguinte

Respostas:


1

Apenas de ler a fonte, este deve ser o lugar no carregador linux e este lugar na relocater (independente do carregador).

Espero que ajude :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.