문제

운영 체제를위한 커널을 개발하고 있습니다. 실행하기 위해 Grub을 사용하기로 결정했습니다. 현재 Grub의 스크립트가 첨부되어 있습니다. stage1, stage2, 패드 파일과 커널 자체가 함께 부팅 가능합니다. 유일한 문제는 내가 그것을 실행할 때, 당신은 그루브가 커널의 위치와 수동으로 얼마나 큰지 알리고 다음과 같이 부팅해야한다는 것입니다.

kernel 200+KERNELSIZE
boot

KERNELSIZE 블록의 커널 크기입니다. 이것은 시작하기에 좋고 괜찮지 만 바이너리에서 이러한 값을 가져 와서 그루브 부팅을 자동으로 부팅 할 수 있습니까? 그것을 달성하는 방법에 대한 제안이 있습니까?

도움이 되었습니까?

해결책

나는 당신이 당신의 자신의 menu.lst conf 파일을 만들 수 있다고 생각합니다. "configfile/path/to/menu.lst"로 Grub 쉘에서로드 한 다음 필요에 따라 값을 대체하는 "Setup (HD0)"을 수행하십시오. 나는 단지 추측하고있다.

다른 팁

http://www.gnu.org/software/grub/manual/grub.html#embedded-data Grub의 블록 목록 저장에 대한 일반적인 정보를 제공합니다. 가장 중요한 것은 블록 목록이 Stage2의 잘 정의 된 위치에 저장된다는 것을 언급합니다.

정확한 위치를 파악하기 위해 Grub 소스 코드를보고 싶을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top