Я шукаю рядок коду, де GRUB2 нарешті переходить до коду ядра і, таким чином, передає виконання в x86 системах? Я думаю, це у файлі асемблера, оскільки це дуже низька архітектура. Я подивився на вихідні файли в /grub-core/boot/i386/pc/*.S
і знайшли JMP
в boot.S на лінії 455 , але kernel_address
може бути адреса GRUB2 ядра в пам'яті і не Linux ядра.
Хто-небудь зі збіркою та знаннями GRUB2, які можуть мені допомогти?
Ви відстежували параметри ядра?
—
phk
Я не можу надто багато додати сюди, оскільки я публікую повідомлення з телефону, але я можу здогадатися, виходячи з того, що я пам'ятаю про сумісність з ПК та GRUB2, що він завантажує зображення ядра в пам'ять на 0x900000 (реальний режим), при цьому 0x0c000000 є адреса перескочила до того, як ви перейдете з реального режиму в захищений режим. Це було в системі EFI з "надійним завантаженням", хоча, тому я міг бути неправильним. Може ваш
—
Wyatt8740
initrd
образ міститиме підказки?