Как загрузить файл Kernel elf?

Я соревнуюсь с учебниками Brokenthorn Osdev, где я создаю stage1.bin (собранный nasm) и поместите его в первый сектор диска с помощью dd. Его работа заключается в загрузке загрузчика stage2 (также собранного nasm и вставленного на диск). До сих пор я загружал PE-файл (ядро), скомпилированный Visual Studio, и он работал нормально, но теперь я собрал ядро, используя gcc, который создает файл elf. Я получил адрес точки входа этого эльфийского файла, но когда я вызываю этот адрес, он не выполняет файл. Прочитав его с помощью команды READELF, я обнаружил, что поле ENTRY (которое содержит адрес точки входа файла elf) было установлено на 0. Как я могу загрузить введите здесь описание изображенияэльф-файл при его вводе адрес 0?


person Amir Khan    schedule 26.11.2018    source источник
comment
Возможный дубликат stackoverflow .com/questions/13908276/   -  person xmojmr    schedule 26.11.2018
comment
Вы просматриваете содержимое объекта ELF. Вы связали свои файлы с исполняемым файлом ELF?   -  person Michael Petch    schedule 26.11.2018
comment
Я действительно мало знаю о файлах ELF. Как вы упомянули выше, я не знаю разницы между объектами ELF и ссылками на исполняемый файл ELF (буду признателен, если вы немного объясните эти термины). Я создал файл .c и скомпилировал его с помощью кросс-компилятора gcc, который генерирует выходной файл ELF.   -  person Amir Khan    schedule 26.11.2018