Ich habe Probleme mit dem Linken eines GRUB-konformen Kernels. Ich hatte diese Linkerfiles noch nie im Griff:
Link.txt
Ich weiss, da fehlt noch viel.
start.asm
GRUB akzeptiert das nicht. Ich müsste noch irgendetwas bei der Data-Section ändern, weiss aber nicht was.
Link.txt
Code: [Auswählen]
OUTPUT_FORMAT("binary")
INPUT(start1.o start2.o)
SECTIONS
{
. = 0x100000;
.text : { *(.text) }
.data : { *(.data) }
.bss : { *(.bss) }
}Ich weiss, da fehlt noch viel.
start.asm
Code: [Auswählen]
CPU 386
BITS 32
EXTERN _start
GLOBAL Start
MULTIBOOT_PAGE_ALIGN equ 1<<0
MULTIBOOT_MEMORY_INFO equ 1<<1
MULTIBOOT_AOUT_KLUDGE equ 1<<16
MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO | MULTIBOOT_AOUT_KLUDGE
CHECKSUM equ -(0x1BADB002 + MULTIBOOT_HEADER_FLAGS)
ALIGN 4
MultibootHeader:
DD 0x1BADB002
DD MULTIBOOT_HEADER_FLAGS
DD CHECKSUM
DD MultibootHeader
DD 0x00100000
DD 0x00200000
DD 0x00200000
DD Start
Start:
CALL _start
JMP $GRUB akzeptiert das nicht. Ich müsste noch irgendetwas bei der Data-Section ändern, weiss aber nicht was.

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert

