Де в вихідному коді GRUB2 знаходиться передача / перехід до коду ядра?


11

Я шукаю рядок коду, де GRUB2 нарешті переходить до коду ядра і, таким чином, передає виконання в x86 системах? Я думаю, це у файлі асемблера, оскільки це дуже низька архітектура. Я подивився на вихідні файли в /grub-core/boot/i386/pc/*.Sі знайшли JMPв boot.S на лінії 455 , але kernel_addressможе бути адреса GRUB2 ядра в пам'яті і не Linux ядра.

Хто-небудь зі збіркою та знаннями GRUB2, які можуть мені допомогти?


Ви відстежували параметри ядра?
phk

1
Я не можу надто багато додати сюди, оскільки я публікую повідомлення з телефону, але я можу здогадатися, виходячи з того, що я пам'ятаю про сумісність з ПК та GRUB2, що він завантажує зображення ядра в пам'ять на 0x900000 (реальний режим), при цьому 0x0c000000 є адреса перескочила до того, як ви перейдете з реального режиму в захищений режим. Це було в системі EFI з "надійним завантаженням", хоча, тому я міг бути неправильним. Може ваш initrdобраз міститиме підказки?
Wyatt8740

Відповіді:


1

Щойно з читання джерела, це повинно бути місце в завантажувачі Linux, а це місце в переїзді (незалежно від завантажувача).

Я сподіваюся, що це допомагає :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.