Lowlevel

Lowlevel => Softwareentwicklung => Thema gestartet von: OsDevNewbie am 25. June 2012, 19:18

Titel: Module laden mit GRUB
Beitrag von: OsDevNewbie am 25. June 2012, 19:18
Hallo,
ich lasse GRUB meinen Bootloader laden und zudem noch meinen Kernel als Modul. In der Multibootstruktur kann man den Namen auslesen, aber wenn ich den über meinen Bootloader ausgeben lasse, dann kommt nichts. Mein Code an dieser Stelle lautet:
Code: (C) [Auswählen]
print("Name des Moduls: ");
print((char*)MBS->mbs_mods_addr[0].name);
print("\n\r");
In der Multibootstruktur deklariere ich noch:
Code: (C) [Auswählen]
mbs_mods_addr* mbs_mods_addr;
Dieser Eintrag MBS->mbs_mods_addr[0].name sollte doch auf einen String zeigen oder nicht?
Ich hoffe ihr könnt mir helfen und sage deshalb schon einmal danke.
Titel: Re: Module laden mit GRUB
Beitrag von: OsDevNewbie am 26. June 2012, 17:11
Hallo,
ich habe noch eine andere Frage. Wenn ich GRUB anweise meinen Kernel als Modul zu laden, muss ich dann mit meinem Bootloader, der von GRUB gestartet wird, die Segmente noch an den richtigen Ort kopieren oder macht das GRUB schon und ich meinen Kernel als ganzes einfach verschieben?
Danke
Titel: Re: Module laden mit GRUB
Beitrag von: kevin am 26. June 2012, 18:49
GRUB interpretiert die Module nicht. Die werden einfach nur als Binärdatei in den Speicher geladen, da spielt kein ELF-Loader oder ähnliches mit. Das muss dein Loader also selbst machen.