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