Autor Thema: PM im Kernel oder beim Booten  (Gelesen 11326 mal)

Vampire

  • Beiträge: 52
    • Profil anzeigen
Gespeichert
« am: 25. August 2004, 10:17 »
Hi,

habe mal wieder ne Frage, bzw. will mal ein paar Meinungen von euch hören. Denkt ihr, dass man in den PM schon beim Booten wechseln sollte oder erst im Kernel ? Überlege grad was besser ist. Für die Überschaubarkeit ist es denk ich besser beim Bootvorgang in den PM zu wechseln. Auf der anderen Seite ist es aber auch schon Aufgabe vom Kernel, weil ja auch der Speicherbereich usw.. zugewiesen wird jedoch kann man diese ja auch noch später ändern...

Grüße
Vamp

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #1 am: 25. August 2004, 12:17 »
ich habs bewusst erst im Kernel gemacht.
Damit hab ich den Vorteil, das mein Bootloader theoretisch jeden Kernel laden kann, egal ob er für PMode oder Real-Mode ist.

Somit kann ich meinen Bootloader ohne änderung auch für andere Leute benutzen.
----------------------
Redakteur bei LowLevel

Vampire

  • Beiträge: 52
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 25. August 2004, 12:31 »
Ich denke auch dass es im Prinzip besser ist erst im Kernel zu wechseln, nur was mich wundert ist, dass ich so przentual gesehen öfters gesehen habe, dass beim Booten in den PM gewechselt wird, als im Kernel.. *hmmm..*

weiß noch selbst net wie ich es am besten mache werde..

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #3 am: 25. August 2004, 17:50 »
Ich machs gleich im Bootsektor, Kernel GDT und IDT vom Laufwerk holen an entsprechende Speicherbereiche schreiben, GDTR und LDTR Register setzten cr0 ändern, Far Jump^^ Ich mach das weil ich meinen Bootloader (der mit TJ's nich viel gemein hat^^) ja nur für mein OS verwenden will und für sonst garnix.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« Antwort #4 am: 10. September 2004, 10:49 »
wenn ich ehrlich bin schaltet bei mir noch nix in pmode, aber ich werde es im kernel machen da ich so besser den überblick behalten kann und später wenn ich dan von der diskette zur cd wechsle oder hd, muss ich nur denn bootsector neu schreiben... Ausserdem sollte es dem bootloader scheiss egal sein ob er ein 32 oder 16 bit os ladet, hauptsache er mecht die kernel.sys ins ram. das ist auf jedenfall meine meinung.. :P

Thoth

  • Beiträge: 62
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 16. July 2005, 18:59 »
Ich weiß, der Thread ist schon etwas älter, aber das interessiert mich jetzt doch: Was, wenn der Kernel größer als 1MB ist? Dann muss man doch im Bootloader umschalten, oder?
Ok, man könnte den Kernel vielleicht auch in zwei Stufen laden, aber das finde ich auch strange, machen manche Bootloader ja auch so. Aber die Methode von Linux, den Kernel komprimiert zu laden und dann erst noch zu entpacken finde ich am allerdämlichsten.
Madness isn't a bug - it's a feature

hackgod

  • Beiträge: 70
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 16. July 2005, 20:44 »
Ein Grund, warum ich finde, dass man besser erst im Kernel umschaltet,
ist schlichtweg der Speichermangel im Bootsector.
Ich hab meinen Bootloader mit Mühe auf 512 KB gekriegt.

Thoth

  • Beiträge: 62
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 16. July 2005, 21:08 »
512 Kilobyte? Das BIOS möcht ich sehen :D
Ich gehe jetzt einfach mal von einem Tippfehler aus *g*
Madness isn't a bug - it's a feature

hackgod

  • Beiträge: 70
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 16. July 2005, 21:34 »
Ups! Hast recht, ich meinte 512 Byte!  :lol:  :lol:

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 17. July 2005, 02:09 »
gegen den platzmangel im bootsektor hilft ein bootloader wie GRUB.
Dieser Text wird unter jedem Beitrag angezeigt.

Legend

  • Beiträge: 635
    • Profil anzeigen
    • http://os.joachimnock.de
Gespeichert
« Antwort #10 am: 17. July 2005, 11:56 »
Es gibt durchaus auch ein paar Gruende warum man das im Bootsektor (oder Bootloader) machen koennte:

- Der Code vom Bootloader wird ja nach dem Start des Kernels meistens wieder ueberschrieben, der vom Kernel ja nicht. (Gut, da man das in die 512 Byte quetschen kann spart man da nicht viel, das waer frueher interressanter gewesen)

- Man erspart sich das hantieren mit dem 16 Bit Code-Stueck in dem ansonstem 32-bittigem Kernel. (Mehr eine Frage des einmal Aufsetzens der Tools zum kompilieren)
*post*

 

Einloggen