Autor Thema: Kernel von Festplatte laden  (Gelesen 5110 mal)

satyria

  • Beiträge: 8
    • Profil anzeigen
Gespeichert
« am: 23. March 2010, 22:11 »
Hallo,

ich habe eine Festplatte, die ich jederzeit nach meinen Bedürfnissen ändern kann. Ich verwende eh GRUB als Bootloader um mei Windows und entsprechendes Linux zu starten. Nun meine Frage: wie kann ich GRUB so einstellen, dass er mir meinen selbst erstellten Kernel auf einer Partition startet. Hier wird immer wieder auf Floppys hingewiesen, die ich aber nicht habe. Wie muss die Partition am besten aussehen. Eventuell gibt es irgendwo im Internet eine Beschreibung, wie man sowas macht.

Gruß Satyria

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #1 am: 23. March 2010, 23:00 »
Du musst nur die menu.lst (zumindest bei GRUB legacy heißt sie so) anpassen, eigentlich komplett genauso wie bei Floppy eben auch. Der einzige Unterschied ist halt, dass aus "root (fd0)" ein "root (hd0,0)" zB. wird. Partitionen werden von 0 an nummeriert (im Ggs. zu Linux).
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

satyria

  • Beiträge: 8
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 24. March 2010, 12:06 »
Danke, für Deine Antwort!

Wie ich Grub zum Starten der Partition bekomme, kenne ich. Allerdings waren meine Versuche bisher vergeblich. Wenn ich die Fehlermeldungen richtig gelesen habe, versteht das System die Partition als solche nicht. Eine Formatierung in FAT32, EXT2 + 3, usw. hat da bisher nicht geholfen. Ich denke, dass hier der Kernel entsprechend angepasst werden müsste, oder? Wobei dieser Kernel zunächst nur einen Text ausgeben soll.

Gibt es eigentlich keine Anleitung, die man zunächst 1:1 nachbaut, um zu sehen, wie es auf dem eigenem System funktioniert? Dazu würde ich sogar auf Emulatoren verzichten. Es ist schon ärgerlich, wenn man sehr viel Zeit investiert und es bisher noch nicht mal gesehen hat, dass es funktioniert.

Liebe Grüße, Satyria

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 24. March 2010, 12:19 »
Du startest keine Partition, sondern einen Kernel. Ich weiß jetzt natürlich nicht, was du genau gemacht hast. Nimm am besten den Kernel aus http://lowlevel.brainsware.org/wiki/index.php/Teil_4_-_Hello_World zum Ausprobieren.

Statt ein GRUB-Image für eine Floppy zu erzeugen wie im Tutorial nimmst du den Kernel und legst ihn auf irgendeine Partition, die GRUB lesen kann (z.B. ext3 oder FAT). Im Zweifelsfall kopier ihn in das /boot-Verzeichnis von deinem Linux. Dann nimm den menu.lst-Eintrag für Linux her, kopier ihn und änder die kernel-Zeile so ab, dass sie nicht mehr auf vmlinuz..., sondern deine eigene Datei zeigt. initrd lässt du weg.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #4 am: 24. March 2010, 12:31 »
Falls es nicht funktioniert bräuchten wir warhscheinlich die genaue Fehlermeldung von GRUB. Es wäre auch wesentlich zu wissen ob du GRUB legacy oder GRUB2 verwendest. Momentan beziehen sich alle Tutorials und Antworten auf GRUB legacy.

edit: Abgesehen davon wäre es wichtig zu wissen, was genau du in der menu.lst in dem betreffenden Eintrag angibst und wie deine Partitionen aussehen. Nur so als Tipp, aber im grub Bootmenü kannst du mit "e" den gewählten Eintrag editieren, dann nochmals mit "e" die betreffende Zeile editieren, mit Enter diese Zeile bestätigen und dann mit "b" booten. Dann sparst du dir das Neustarten und anpassen der menu.lst.
« Letzte Änderung: 24. March 2010, 12:35 von bluecode »
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

satyria

  • Beiträge: 8
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 25. March 2010, 20:41 »
Hallo,

also, gemacht hab ich bisher hier über lowlevel (hätte ich doch, leider kannte ich es nicht!!!!) noch nichts. Ich hatte bisher Anleitungen, die nur über Floppys gingen. Ich hab mir da auch schon gedacht, dass es über einen Bootloader, wie z.B. Grub gehen müsste. Allerdings habe ich diese nicht zum Laufen gebracht. Bei nachfragen hies es immer, das zunächst ein Treiber geschrieben werden müsste, damit das Program überhaupt funktioniert.

Ich hab es jetzt so wie hier gemacht und Grub als Bootloader verwendet. Es geht! Super! Allerdings hab ich irgendwie mein Ubuntu zerstört und musste es nochmal installieren und Grub downgraden, aber jetzt läufts! Vielen Dank!

Gruß, Satyria

 

Einloggen