Ich entwickle einen Kernel für ein Betriebssystem. Um es auszuführen, habe ich mich entschieden, GRUB zu verwenden. Zur Zeit habe ich ein Skript an GRUB's stage1
, stage2
, eine Pad-Datei und den Kernel selbst zusammen, die es bootfähig macht. Das einzige Problem ist, dass wenn ich es laufen, müssen Sie GRUB wissen lassen, wo der Kern ist und wie groß es ist manuell und es dann starten, wie folgt aus:Aktivieren von GRUB automatisch vom Kernel booten
kernel 200+KERNELSIZE boot
KERNELSIZE
die Größe des Kernels in Blöcken . Das ist in Ordnung und in Ordnung für den Anfang, aber ist es möglich, diese Werte in der Binärdatei zu erhalten und GRUB den Kernel automatisch booten zu lassen? Irgendwelche Vorschläge, wie man das erreicht?
Der herkömmliche Ansatz besteht darin, Ihren Kernel selbst auf ein Dateisystem zu legen, das grub lesen kann; irgendeinen besonderen Grund, warum du das nicht tust? –
Ich stimme mit Charles hier überein. Fügen Sie Ihrem Betriebssystem ein vorhandenes Dateisystem hinzu, bis Ihr Betriebssystem über ein eigenes Dateisystem verfügt. –
Nun, zum Testen haben wir die endgültige Binärdatei (einschließlich GRUB) als eine Datei auf der Festplatte in einem Emulator verwendet werden. Wie würde ich ein Disk-Image erstellen, auf dem sich ein Dateisystem befindet? –