| Zeile 93: | Zeile 93: | ||
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: | ||
<br><br> | <br><br> | ||
| − | + | ||
| − | + | {| border="1" | |
| − | + | | Offset | |
| − | + | | Type | |
| − | + | | Description | |
| − | + | |- | |
| − | + | | 0 || Byte || Boot Record Indicator | |
| − | + | |- | |
| − | + | | 1-5 || Byte || ISO-9660 Identifier, must be 'CD001' | |
| − | + | |- | |
| + | | 6 || Byte || Version of the descriptor, must be 1 | ||
| + | |- | ||
| + | | 7-26 || Byte || Boot System Identifier, must be 'EL TORITO SPECIFICATION" padded with 0's. | ||
| + | |- | ||
| + | | 27-46 || Byte || Unused, must be 0. | ||
| + | |- | ||
| + | | 47-4A || DWord || Absolute pointer to first sector of Boot Catalog. | ||
| + | |- | ||
| + | | 4A-7FF || Byte || Unused, must be 0. | ||
| + | |} | ||
<br><br> | <br><br> | ||
Wie wir hier deutlich erkennen können, ist an der Adresse 0x47-0x4A im | Wie wir hier deutlich erkennen können, ist an der Adresse 0x47-0x4A im | ||
| Zeile 108: | Zeile 118: | ||
Pointer und sehen uns den Boot Catalog an: | Pointer und sehen uns den Boot Catalog an: | ||
<br><br> | <br><br> | ||
| − | + | {| border="1" | |
| − | + | | Offset | |
| − | + | | Type | |
| − | + | | Description | |
| − | + | |- | |
| − | + | | 0 || Byte || Header ID, must be 01. | |
| − | + | |- | |
| − | + | | 1 || Byte || Platform ID. | |
| − | + | |- | |
| + | | 2-3 || Word || Reserved, must be 0. | ||
| + | |- | ||
| + | | 4-1B || Char || ID-String. | ||
| + | |- | ||
| + | | 1C-1D || Int || Checksum Word. | ||
| + | |- | ||
| + | | 1E || Byte || Key Byte, must be 55. | ||
| + | |- | ||
| + | | 1F || Byte || Key Byte, must be AA. | ||
| + | |} | ||
<br><br> | <br><br> | ||
Hier sehen wir zuerst einige Standart-Strings und Zeichen ("0x55, 0xAA" | Hier sehen wir zuerst einige Standart-Strings und Zeichen ("0x55, 0xAA" | ||
| Zeile 123: | Zeile 143: | ||
zu unserem Boot-Image beinhaltet: | zu unserem Boot-Image beinhaltet: | ||
<br><br> | <br><br> | ||
| − | + | {| border="1" | |
| − | + | | Offset | |
| − | + | | Type | |
| − | + | | Description | |
| − | + | |- | |
| − | + | | 0 || Byte || Boot Indicator (88=bootable | 00=not bootable) | |
| − | + | |- | |
| − | + | | 1 || Byte || Boot media Type | |
| − | + | |- | |
| − | + | | 2-3 || Word || Load segment (standart is 0x7C0) | |
| + | |- | ||
| + | | 4 || Byte || System Type. | ||
| + | |- | ||
| + | | 5 || Byte || Unused, must be 0. | ||
| + | |- | ||
| + | | 6-7 || Word || Sector count. | ||
| + | |- | ||
| + | | 8-0B || DWord || Load RBA. This is the start address of the virtual disk. | ||
| + | |- | ||
| + | | 0C-1F || Byte || Unused, must be 0. | ||
| + | |} | ||
<br><br> | <br><br> | ||
An der Adresse 0x08-0x0B befindet sich schließlich der Pointer zum Image | An der Adresse 0x08-0x0B befindet sich schließlich der Pointer zum Image | ||
| Zeile 153: | Zeile 184: | ||
== Dateisystemvergleiche == | == Dateisystemvergleiche == | ||
Bestimmt hast du auch schon das eine oder andere Dateisystem implementiert, oder planst dies in näherer Zukunft zu tun. Da nicht jeder Lust hat sein eigenes System zu entwerfen, hier mal einige Infos über verschiedene Dateisysteme, für einen schnellen Vergleich ordentlich in einer Tabelle dargestellt. Ich hoffe ich erleichtere euch eure Arbeit hiermit ein bisschen, und verkompliziere sie nicht noch eher weil es so viele interessante Systeme gibt *g*. Viel Spaß, stultus/N00b | Bestimmt hast du auch schon das eine oder andere Dateisystem implementiert, oder planst dies in näherer Zukunft zu tun. Da nicht jeder Lust hat sein eigenes System zu entwerfen, hier mal einige Infos über verschiedene Dateisysteme, für einen schnellen Vergleich ordentlich in einer Tabelle dargestellt. Ich hoffe ich erleichtere euch eure Arbeit hiermit ein bisschen, und verkompliziere sie nicht noch eher weil es so viele interessante Systeme gibt *g*. Viel Spaß, stultus/N00b | ||
| − | + | <br><br> | |
{| border="1" | {| border="1" | ||
| | | | ||
| Zeile 179: | Zeile 210: | ||
|| Kann von allen gängigen Systemen (Linux, Mac OS, Windows) gelesen und geschrieben werden. | || Kann von allen gängigen Systemen (Linux, Mac OS, Windows) gelesen und geschrieben werden. | ||
|} | |} | ||
| + | <br> | ||
* Anmerkung: Größen jenseits 2 Terabyte (TB) sind nicht möglich, da die maximale Länge einer Partition bei aktuellen Partitionstabellen 2 TB nicht übersteigen kann (und das Laufwerk maximal 4 TB groß sein kann). | * Anmerkung: Größen jenseits 2 Terabyte (TB) sind nicht möglich, da die maximale Länge einer Partition bei aktuellen Partitionstabellen 2 TB nicht übersteigen kann (und das Laufwerk maximal 4 TB groß sein kann). | ||