| Zeile 33: | Zeile 33: | ||
* Kann von einem TFTP-Server booten | * Kann von einem TFTP-Server booten | ||
| − | === | + | === Diskettenimage erstellen === |
==== Linux ==== | ==== Linux ==== | ||
| Zeile 73: | Zeile 73: | ||
* [http://chitchat.at.infoseek.co.jp/vmware/vfd.html Virtual Floppy Drive] | * [http://chitchat.at.infoseek.co.jp/vmware/vfd.html Virtual Floppy Drive] | ||
| − | Wir brauchen also zunächst einmal einen Ordner. In desen Ordner kommt die Datei ''grldr''(GRUB4DOS Stage2). | + | Wir brauchen also zunächst einmal einen Ordner. In desen Ordner kommt die Datei ''grldr'' (GRUB4DOS Stage2). |
| − | Aus diesem Ordner machen wir jetzt ein | + | Aus diesem Ordner machen wir jetzt ein Image. |
<pre> | <pre> | ||
bfi -t=144 -f=floppy.img floppy | bfi -t=144 -f=floppy.img floppy | ||
| Zeile 80: | Zeile 80: | ||
<small>Erstellt die Datei floppy.img mit dem Inhalt des Ordners ''floppy''.</small> | <small>Erstellt die Datei floppy.img mit dem Inhalt des Ordners ''floppy''.</small> | ||
| − | Nun muss GRUB nur noch auf dem Image installiert werden und das Image | + | Nun muss GRUB nur noch auf dem Image installiert werden und das Image bootfähig gemacht werden. Das geschieht mit folgendem Befehl: |
<pre> | <pre> | ||
bootlace.com --fat12 --floppy floppy.img | bootlace.com --fat12 --floppy floppy.img | ||
| Zeile 86: | Zeile 86: | ||
<small>Installiert GRUB-stage1 in den Bootsektor des Floppy Images</small> | <small>Installiert GRUB-stage1 in den Bootsektor des Floppy Images</small> | ||
| − | Nun kannst du das Image mit VFD mounten und deinen Kernel und eine menu.lst(Die GRUB | + | Nun kannst du das Image mit VFD mounten und deinen Kernel und eine menu.lst (Die GRUB Konfigurationsdatei) auf das Image kopieren. |
=== CD-Image herstellen === | === CD-Image herstellen === | ||
==== Linux ==== | ==== Linux ==== | ||
| − | Es sind folgende | + | Es sind folgende Tools vonnöten: |
| − | * stage2_eltorito von GRUB(Sollte bei deinem Linux dabei sein.) | + | * stage2_eltorito von GRUB (Sollte bei deinem Linux dabei sein.) |
* mkisofs | * mkisofs | ||
| − | Als | + | Als Erstes sollte man die Dateien, die nachher auf der CD landen sollen, in einen Ordner kopieren. Dazu gehören auch die von GRUB benötigten Dateien und zwar ''menu.lst'' und ''stage2_eltorito''. Diese gehören in den Ordner (relativ von der CD aus) ''/boot/grub/''. Man kann sie auch in einen beliebigen anderen Ordner packen, dann muss man allerdings mit den Hexeditor an ''stage2_eltorito''. Anschließend erstellt man das CD-Image folgendermaßen: |
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o cdrom.iso cdrom_files/ | mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o cdrom.iso cdrom_files/ | ||
Dies erzeugt ein CD-Image namens ''cdrom.iso'' aus den Dateien des Ordners ''cdrom_files''. ''boot/grub/stage2_eltorito'' ist dabei ein relativer Pfad von der CD aus auf den Bootloader. | Dies erzeugt ein CD-Image namens ''cdrom.iso'' aus den Dateien des Ordners ''cdrom_files''. ''boot/grub/stage2_eltorito'' ist dabei ein relativer Pfad von der CD aus auf den Bootloader. | ||
| + | |||
''Mögliche Probleme'': | ''Mögliche Probleme'': | ||
| − | * Die menu.lst kann nicht geladen werden, d.h. es erscheint nur der GRUB-Prompt. Schuld an diesem Fehler ist ein falscher Pfad in stage2 (der Pfad ist Lowercase, aber ISO-Level-1 speichert nur Uppercase). Abhilfe schafft entweder GRUB gepatcht neu bauen, oder einfach den Pfad im Binary zu ändern: | + | * Die menu.lst kann nicht geladen werden, d.h. es erscheint nur der GRUB-Prompt. Schuld an diesem Fehler ist ein falscher Pfad in stage2 (der Pfad ist Lowercase, aber ISO-Level-1 speichert nur Uppercase). Abhilfe schafft entweder GRUB gepatcht neu bauen, oder einfach den Pfad im Binary zu ändern:<code>sed -i "s/boot\/grub\/menu.lst/BOOT\/GRUB\/MENU.LST/g" stage2_eltorito</code> |
| − | + | * Es gibt Systeme die nicht von ElTorito-CDs booten können. Abhilfe schafft hier manchmal, statt ElTorito die Floppyemulation zum Booten zu verwenden. Einfach ein Floppyimage mit allen benötigten Treibern erstellen, welches dann von CD weiterlädt. Das CD-Image hierfür wird dann via<code>mkisofs -b floppy.img -o cdrom.iso cdrom_files/</code><br>erstellt. '''ACHTUNG''': Man braucht wenn man nicht alles im Speicher hat wirklich eigene Treiber, das Floppy-Image ist ab Protected Mode verloren (es werden Interrupts umgeleitet). | |
| − | * Es gibt Systeme die nicht von ElTorito-CDs booten können. Abhilfe schafft hier manchmal, statt ElTorito die Floppyemulation zum Booten zu verwenden. Einfach ein Floppyimage mit allen benötigten Treibern erstellen, welches dann von CD weiterlädt. Das CD-Image hierfür wird dann via | ||
| − | |||
| − | erstellt. ACHTUNG | ||
=== Beispielkonfigurationsdatei === | === Beispielkonfigurationsdatei === | ||
| Zeile 129: | Zeile 127: | ||
* Cross-Plattform-Installation | * Cross-Plattform-Installation | ||
| − | === CD-Image | + | === CD-Image erstellen === |
==== Linux ==== | ==== Linux ==== | ||
| Zeile 194: | Zeile 192: | ||
* GRUB legacy | * GRUB legacy | ||
** [[Teil 4 - Hello_World | OS-Dev für Einsteiger - Teil 4]]: kleiner Beispielkernel mit Multiboot | ** [[Teil 4 - Hello_World | OS-Dev für Einsteiger - Teil 4]]: kleiner Beispielkernel mit Multiboot | ||
| − | |||
| − | |||
| − | |||
** [[GRUB Installation auf einem USB-Stick]] | ** [[GRUB Installation auf einem USB-Stick]] | ||
* GRUB 2 | * GRUB 2 | ||