GRUB2가 마침내 커널 코드로 건너 뛰고 x86 시스템에서 실행을 넘기는 코드 줄을 찾고 있습니까? 아키텍처가 매우 낮기 때문에 어셈블러 파일에 있다고 생각합니다. 소스 파일을보고 455 행 에서 boot.S를/grub-core/boot/i386/pc/*.S
찾았 지만 리눅스 커널이 아닌 메모리의 GRUB2 커널 주소가 될 수 있습니다.JMP
kernel_address
나를 도울 수있는 조립 및 GRUB2 지식이있는 사람이 있습니까?
커널 매개 변수를 추적 했습니까?
—
phk
전화로 게시 한 이후 여기에 너무 많이 추가 할 수는 없지만 PC 호환 및 GRUB2에 대해 기억하는 것을 기반으로 0x900000 (실제 모드)에서 커널 이미지를 메모리에로드하고 0x0c000000은 실제 모드에서 보호 모드로 점프하면 주소가 점프했습니다. 그러나 이것은 "신뢰할 수있는 부팅"이있는 EFI 시스템에 있었지만 잘못되었을 수 있습니다. 어쩌면
—
Wyatt8740
initrd
이미지에 단서가 포함되어 있습니까?