:|Hey hey! Ich brauch ein wenig Hilfe.
Und zwar hab ich einen Boot-Sektor geschrieben, der zunächst einen Text ausgibt, dann den Kernel lädt und dies ebenso mit einer MSG quittiert und dann in den 32-Bit-Protected übergeht und zum Kernel springt.
Kompiliert habe ich die asm mit nasm und die .c's mit gcc und ld ohne 32 flag (ich sitze an nem 64 bit linux). War natürlich zum scheitern verurteilt.
Teilweise spuckt er Fehler aus, dass die Sektoren nicht richtig geladen werden können, teilweise landet er in nem Loop bei dem alles immer wieder schnell durchläuft.
Nachdem ich über gcc und ld mit 32 flag compiliert habe, landet er auch im Endlosmodus.
Seltsamerweise klappt es mit 64Bit-Komp des Kerlen.c's wenn ich am Ende des Boot-Sektors folgendes einbinde:
times 1000-($-$$)db 0
times 1000 dw 0
schreibe. Aber auch nur mit genau dem Kernel
Verändere ich die Kernel.C, dann klappts wieder nicht.
Der letzte schritt sollte bei mir eig sein, ein Label in asm für die Main-Funk im Kernel anzulegen, damit der Bootloader immer zur main springt.
Aber das kann ich im moment vergessen.
Ich hänge mal die asm' und kernel.c an.
Hoffe ich könnt mir ein wenig helfen.
Und zwar hab ich einen Boot-Sektor geschrieben, der zunächst einen Text ausgibt, dann den Kernel lädt und dies ebenso mit einer MSG quittiert und dann in den 32-Bit-Protected übergeht und zum Kernel springt.
Kompiliert habe ich die asm mit nasm und die .c's mit gcc und ld ohne 32 flag (ich sitze an nem 64 bit linux). War natürlich zum scheitern verurteilt.
Teilweise spuckt er Fehler aus, dass die Sektoren nicht richtig geladen werden können, teilweise landet er in nem Loop bei dem alles immer wieder schnell durchläuft.
Nachdem ich über gcc und ld mit 32 flag compiliert habe, landet er auch im Endlosmodus.
Seltsamerweise klappt es mit 64Bit-Komp des Kerlen.c's wenn ich am Ende des Boot-Sektors folgendes einbinde:
times 1000-($-$$)db 0
times 1000 dw 0
schreibe. Aber auch nur mit genau dem Kernel
Verändere ich die Kernel.C, dann klappts wieder nicht.Der letzte schritt sollte bei mir eig sein, ein Label in asm für die Main-Funk im Kernel anzulegen, damit der Bootloader immer zur main springt.
Aber das kann ich im moment vergessen.
Ich hänge mal die asm' und kernel.c an.
Hoffe ich könnt mir ein wenig helfen.

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert


.