Bootloader selbst schreiben



  • auf den meisten Computern funktioniert er nicht

    So ein Schwachsinn. Ich habe in den letzten zwei Jahren keinen PC gesehen, bei dem das Booten von einer Diskette nicht geklappt hat.

    Wie lange habt ihr für den Bootloader von PrettyOS gebraucht und was mein ihr dazu?

    Das kann man nicht genau sagen - denn ein einfacher Bootloader ist schnell zusammengeschustert, aber mit der Zeit müssen eben Erweiterungen vorgenommen werden. Bei uns waren das z.B. Limitierungen der Kernelgröße, die beseitigt werden mussten, und Multiboot-Unterstützung.

    was mein ihr dazu

    Unserer Auffassung nach geht die Betriebssystemprogrammierung schon beim Bootloader los, und er diesen Schritt auslässt, verpasst einiges, was zum Verständnis des Gesamtsystems wichtig sein kann: Real Mode, 16-bit Protected Mode.
    Man kann natürlich später immer auf GRUB umsatteln, aber wir empfehlen, sich am Anfang auch mit dem Thema Bootloader auseinanderzusetzen.



  • Mr X schrieb:

    auf den meisten Computern funktioniert er nicht

    So ein Schwachsinn. Ich habe in den letzten zwei Jahren keinen PC gesehen, bei dem das Booten von einer Diskette nicht geklappt hat.

    Das mag sein. Euer Denkefehler ist nur: kein Computer, der neuer als ca. 2006 ist, hat ein Diskettenlaufwerk. Deshalb hättet ihr für USB-Sticks entwickeln sollen, aber da fangen ja die Probleme erst richtig an.

    Kein einziger meiner Bekannten und Freunde hat ein Diskettenlaufwerk.



  • Das mag sein. Euer Denkefehler ist nur: kein Computer, der neuer als ca. 2006 ist, hat ein Diskettenlaufwerk.

    Viele haben alte PCs irgendwo rumstehen. Diskettenlaufwerke kann man auch in alle neuen PCs einbauen. Und es gibt Emulatoren.

    Deshalb hättet ihr für USB-Sticks entwickeln sollen, aber da fangen ja die Probleme erst richtig an.

    Nun - auch mit GRUB ist booten von USB Glückssache. Wenn auch mit höherer Gewinnchance. Jedenfalls kocht auch GRUB nur mit Wasser, und wo GRUB es schafft, zu booten, sollte es einem selbstgeschriebenen Bootloader auch möglich sein. Nur wie das mit selbstgeschriebener Software so ist: Da muss man die Bugs halt selber fixen.



  • Mr X schrieb:

    Das mag sein. Euer Denkefehler ist nur: kein Computer, der neuer als ca. 2006 ist, hat ein Diskettenlaufwerk.

    Viele haben alte PCs irgendwo rumstehen. Diskettenlaufwerke kann man auch in alle neuen PCs einbauen. Und es gibt Emulatoren.

    Weiß du was? Langsam habe ich irgendwie das Gefühl, als wäre nicht ich hier der Troll.
    Nein, kein neuer PC hat eine Diskette, und nein, ich möchte meinen Computer nicht mit einem Diskettenlaufwerk "upgraden".
    Außerdem schreibt man doch so ein Betriebssystem, damit es mal richtig auf einem Computer, also nicht emuliert, funktioniert.

    [/quote]

    Deshalb hättet ihr für USB-Sticks entwickeln sollen, aber da fangen ja die Probleme erst richtig an.

    Nun - auch mit GRUB ist booten von USB Glückssache. Wenn auch mit höherer Gewinnchance. Jedenfalls kocht auch GRUB nur mit Wasser, und wo GRUB es schafft, zu booten, sollte es einem selbstgeschriebenen Bootloader auch möglich sein. Nur wie das mit selbstgeschriebener Software so ist: Da muss man die Bugs halt selber fixen.[/quote]

    Das ist nicht richtig. Mit Grub (2) hatte ich auf USB-Sticks bisher nie Probleme.
    Wenn man absichtilich die eingestellte Grub-Legacy Version verwendet, kann es unter Umständen Fehler geben. Das ist aber nicht die Schuld der Grub-Legacy-Entwickler, denn Grub-Legacy ist, wie der Name schon vermuten lässt, schon seit Jahren eingestellt. Grub2 ist Trumpf.



  • Warum ist es so schwer von USB-Stick zu booten?


  • Mod

    Wegen der Unzuverlässigkeit des Vorganges. Beim einen PC geht es beim anderen nicht.



  • Was ist mit CD?



  • die CD ist ein eher unerfreuliches Medium. Booten geht zwar zuverlässig, aber jedes Mal eine zu brennen, nur um PrettyOS zu testen... Und CD-RWs sind irgendwie nicht das Wahre.



  • bootloader_???? schrieb:

    Was ist mit CD?

    Das wäre prinzipiell auch eine gute Idee.

    Das Problem dabei ist, dass das Dateisystem auf CDs durch einen Standard vorgeschrieben ist.

    Ein Dateisystem für eine CD ist beispielsweise ISO9660.

    Das Problem ist, dass der Bootloader dem Bios sozusagen mitteilen muss, wie das Dateisystem aussieht, und wie es auf Dateien in diesem Dateisystem zugreifen kann.

    Das bedeutet: für jedes Dateisystem muss du einen eigenen Bootloader programmieren, weil sich jedes Dateisystem (wenigstens ein bisschen) von anderen Dateisystemen unterscheidet.

    Solche Bootloader für CDs gibt es schon: ISOlinux heißt er.

    Mein Tipp für den Threadstarter: Benutz einfach GRUB (2), so sparst du dir Probleme, die dir die gute Laune verhunzen und dein Interesse am Programmieren vermiesen.

    Mein Tipp an die PrettyOS-Leute: Da der Bootloader ja, wie sich gezeigt hat, eklatante Mängel aufweist, rate ich dazu, den bestehenden entweder general zu überholen, oder ihn, was vielleicht die Bessere Methode wäre, einfach neu zu schreiben, und zwar gleich für ein USB-Dateisystem (FAT 32), oder, wie ich ja schon öfters vorgeschlagen hatte, gleich für ext2.


  • Mod

    Da der Bootloader ja, wie sich gezeigt hat, eklatante Mängel aufweist

    Das ist so nicht richtig. Der BL funktioniert nach vielen Optimierungen zuverlässig und kann auch dem Wachsen des Kernels standhalten. Wir danken aber für die Anregung, uns das Thema Booten von usb mass storage devices doch noch mal intensiver anzuschauen. Erste Ideen für Optimierungen sind bereits vorhanden. 🙂


Anmelden zum Antworten