Frage

Ich entwickle einen Kernel für ein Betriebssystem. Um es auszuführen, habe ich beschlossen, GRUB zu verwenden. Derzeit habe ich einen Skript GRUBs stage1 angebracht, 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 lassen GRUB wissen, wo der Kern ist und wie groß es ist manuell und es dann starten, wie folgt aus:

kernel 200+KERNELSIZE
boot

KERNELSIZE ist die Größe des Kernels in den Blöcken. Das ist in Ordnung und gut für einen Start, aber ist es möglich, diese Werte in den binären zu erhalten und GRäBT automatisch den Kernel machen booten? Alle Vorschläge, wie das erreichen?

War es hilfreich?

Lösung

Ich könnte mir vorstellen, die Sie gerade Ihre eigene menu.lst conf Datei machen könnten, dass mit „configfile /path/to/menu.lst“ an dem grub-Shell laden und dann tun „setup (hd0)“ ersetzt Werte nach Bedarf. Ich kann nur raten, obwohl .. nicht sagen, was die Unterschiede sind auf Ihrer benutzerdefinierten Einstellung.

Andere Tipps

http://www.gnu.org/software/grub/manual/grub.html#Embedded -Daten gibt einige allgemeine Informationen über Blocklisten-Speicher in GRUB. Am wichtigsten ist, es wird erwähnt, dass Sperrlisten in gut definierten Stellen in Stufe 2 gespeichert werden.

Sie werden wahrscheinlich in der GRUB-Quellcode suchen möchten den genauen Standort herauszufinden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top