| Zeile 37: | Zeile 37: | ||
einer Diskette anzubieten, können wir es auch auf eine CD-ROM schreiben | einer Diskette anzubieten, können wir es auch auf eine CD-ROM schreiben | ||
(ein CD-ROM Laufwerk hat beinahe jeder PC/Laptop), und wir sind dieses | (ein CD-ROM Laufwerk hat beinahe jeder PC/Laptop), und wir sind dieses | ||
| − | Problem los. | + | Problem los. Doch wie schreibt man nun ein Betriebssystem auf eine CD-ROM? |
Ich werde das nun versuchen Schritt für Schritt zu erklären: | Ich werde das nun versuchen Schritt für Schritt zu erklären: | ||
| − | # Man compiliert sein Betriebssystem ganz normal, und erstellt eine .IMG Datei - wie es auch für Disketten-Betriebssysteme gemacht wird | + | # Man compiliert sein Betriebssystem ganz normal, und erstellt eine .IMG Datei - wie es auch für Disketten-Betriebssysteme gemacht wird |
| − | # Man öffnet 'Ahead Nero Burning ROM' (btw: ich finde den Namen sehr gelungen :D) | + | # Man öffnet 'Ahead Nero Burning ROM' (btw: ich finde den Namen sehr gelungen :D) |
# Neue Zusammenstellung -> 'CD-ROM (Boot)' | # Neue Zusammenstellung -> 'CD-ROM (Boot)' | ||
| − | # Das Options-Feld 'Image-Datei' anklicken und den Pfad zum Image des Betriebssystems eingeben. 'Neu' klicken | + | # Das Options-Feld 'Image-Datei' anklicken und den Pfad zum Image des Betriebssystems eingeben. 'Neu' klicken |
| − | # Dann, schlussendlich, das Dialogfeld 'CD Brennen' klicken und die CD-ROM brennen | + | # Dann, schlussendlich, das Dialogfeld 'CD Brennen' klicken und die CD-ROM brennen |
Wenn wir nun den Computer neu starten, und im BIOS die Option "von CD-ROM | Wenn wir nun den Computer neu starten, und im BIOS die Option "von CD-ROM | ||
| Zeile 87: | Zeile 87: | ||
+-------------------------+ | +-------------------------+ | ||
| − | Das bedeutet im Sektor 17 (an der Adresse 17 * 0x800) ist das Boot-Record Volume. | + | Das bedeutet, im Sektor 17 (an der Adresse 17 * 0x800) ist das Boot-Record Volume. |
Dieses hat einen Zeiger auf den Boot-Catalog, und sieht folgendermaßen aus: | Dieses hat einen Zeiger auf den Boot-Catalog, und sieht folgendermaßen aus: | ||
| Zeile 98: | Zeile 98: | ||
| 0 || Byte || Boot Record Indicator | | 0 || Byte || Boot Record Indicator | ||
|- | |- | ||
| − | | 1-5 || Byte || ISO-9660 Identifier, | + | | 1-5 || Byte || ISO-9660 Identifier, muss 'CD001' sein |
|- | |- | ||
| − | | 6 || Byte || Version | + | | 6 || Byte || Version des Descriptor, muss '1' sein |
|- | |- | ||
| − | | 7-26 || Byte || Boot System Identifier, | + | | 7-26 || Byte || Boot System Identifier, immer 'EL TORITO SPECIFICATION" und mit 0en auf die richtige Größe gebracht |
|- | |- | ||
| − | | 27-46 || Byte || | + | | 27-46 || Byte || Unbenutzt, immer 0 |
|- | |- | ||
| − | | 47-4A || DWord || Absolute pointer to first sector of Boot Catalog | + | | 47-4A || DWord || Absolute pointer to first sector of Boot Catalog |
|- | |- | ||
| − | | 4A-7FF || Byte || | + | | 4A-7FF || Byte || Unbenutzt, 0 |
|} | |} | ||
| Zeile 120: | Zeile 120: | ||
| Description | | Description | ||
|- | |- | ||
| − | | 0 || Byte || Header ID, | + | | 0 || Byte || Header ID, immer 01 |
|- | |- | ||
| − | | 1 || Byte || Platform ID | + | | 1 || Byte || Platform ID |
|- | |- | ||
| − | | 2-3 || Word || | + | | 2-3 || Word || Reserviert, immer 0 |
|- | |- | ||
| − | | 4-1B || Char || ID-String | + | | 4-1B || Char || ID-String |
|- | |- | ||
| − | | 1C-1D || Int || Checksum Word | + | | 1C-1D || Int || Checksum Word |
|- | |- | ||
| − | | 1E || Byte || Key Byte, | + | | 1E || Byte || Key Byte, muss 55 sein |
|- | |- | ||
| − | | 1F || Byte || Key Byte, | + | | 1F || Byte || Key Byte, muss AA sein |
|} | |} | ||
| Zeile 151: | Zeile 151: | ||
| 2-3 || Word || Load segment (standard is 0x7C0) | | 2-3 || Word || Load segment (standard is 0x7C0) | ||
|- | |- | ||
| − | | 4 || Byte || System Type | + | | 4 || Byte || System Type |
|- | |- | ||
| − | | 5 || Byte || | + | | 5 || Byte || Unbenutzt, 0 |
|- | |- | ||
| − | | 6-7 || Word || Sector count | + | | 6-7 || Word || Sector count |
|- | |- | ||
| − | | 8-0B || DWord || Load RBA. This is the start address of the virtual disk | + | | 8-0B || DWord || Load RBA. This is the start address of the virtual disk |
|- | |- | ||
| − | | 0C-1F || Byte || | + | | 0C-1F || Byte || Unbenutzt, 0 |
|} | |} | ||