Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: blitzmaster am 20. February 2007, 18:03

Titel: Wo ist mbchk?
Beitrag von: blitzmaster am 20. February 2007, 18:03
Ich probier grad mal GRUB als alternative für meinen eigenen Bootloader aus. Nur leider bemängelt er meinen multibootheader. Da sagen jetzt aber alle, mbchk zu benutzen. Doch wo finde ich dieses Programm? Bis jetzt fand ich nur etwas für Linux, was ich aber nicht habe. Gibt's das für Windows garnicht?
Titel: Re: Wo ist mbchk?
Beitrag von: FreakyPenguin am 21. February 2007, 09:08
Ich nehm an, dass du es sicherlich als Source findest, und dann für Windows kompilieren kannst ;).
Titel: Re: Wo ist mbchk?
Beitrag von: Krox am 23. February 2007, 23:12
kannst ja mal einfach deinen code für den header herzeigen ;) sollte ja nicht alzu lang oder unübersichtlich sein
Titel: Re: Wo ist mbchk?
Beitrag von: blitzmaster am 24. February 2007, 12:53
Mittlerweile bin ich sogar schon soweit gegangen, dass ich einfach den Header aus dem Tut in Ausgabe 5 abgetippt habe   :-D was GRUB aber immer noch nicht fressen will... Hier auf jeden Fall mal der code:
Header:
dd 0x1BADB002
dd 0x0
dd 0xE4524FFE
dd Header
dd CodeSegment
dd 0x0
dd 0x0
dd CodeSegment
dd 0x0
dd 0x00000050
dd 0x00000019
dd 0x0
CodeSegment ist ein paar Zeilen weiter unten und zeigt auf den Anfang des auszuführenden (Test-) Codes. Vl. habe ich mich ja irgendwo vertippt...
Titel: Re: Wo ist mbchk?
Beitrag von: Jidder am 24. February 2007, 13:35
Du musst Bit 16 in den Flags setzen, wenn du keine ELF-Datei erstellst. Siehe Spezifikation (http://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Header-magic-fields). Außerdem muss sich der Header in den ersten 8 KB des OS Images befinden.
Titel: Re: Wo ist mbchk?
Beitrag von: blitzmaster am 24. February 2007, 14:20
ok, mein os lädt nun auch mit GRUB. Aber gibt es dieses mbchk nun wirklich nicht für windows? (ausser wenn man es selbst kompiliert)