Hi Leute,
ich habe einen Kernel in C geschrieben und ihr compiliert und gelinkt. Außer einer kleinen
Warnmeldung des der Linker (ld) keinen Entry-Point gefunden hat, ist nichts an errors oder so gekommen. Ich habe en bootloader aus lowlevel 1 genommen und ihn mit folgendem kommando kopiert:
copy bootloader.bin + kernel.bin image.raw
Das Image habe ich auf Floppy (mit rawrite) gezogen und es getestet! aber es kam nichts!
Es stand da:
Boot from Floppy..OK
Aber dann kam irgendwie nix mehr!
So sieht der Code meines Kernels aus:
int main(void)
{
char *str = "Hello, world", *ch;
unsigned short *vidmem = (unsigned short*) 0xb8000;
unsigned i;
for (ch = str, i = 0; *ch; ch++, i++)
vidmem
= (unsigned char) *ch | 0x0700;
for (;
;
}
Mit folgenden Einstellungen habe ich es compiliert und gelinkt:
gcc -c -ffreestanding -fwritable-strings -nostdinc -O3 -Wall *.c
ld -Ttext 0x100000 --oformat elf32-i386 -O 1 -o kernel kernel.o
Was kann ich machen?
MfG, Scorpion