xref: /haiku/docs/develop/partitioning_systems/sun.rst (revision 3d4afef9cba2f328e238089d4609d00d4b1524f3)
1Partitioning system for Sun Sparc machines
2==========================================
3
4Infos extracted from `File System Forensic Analysis, Brian Carrier <urn:isbn:0-134-43954-6>`_
5and in particular the `online copy here <https://books.google.fr/books?id=Zpm9CgAAQBAJ&lpg=PT159&ots=6LIQ6blJCF&dq=solaris%20vtoc%20structure&hl=fr&pg=PT159#v=onepage&q=solaris%20vtoc%20structure&f=false>`_), tables 6.9 and 6.10.
6
7The format is called VTOC (volume table of contents). It is stored at offset 0
8on-disk. All values are big endian.
9
10Note that the x86 version of Solaris uses a different layout.
11
12+------------+--------------------------------+
13| Byte offset|Description                     |
14+============+================================+
15| 0-127      |ASCII disk label                |
16+------------+--------------------------------+
17| 128-261    |VTOC *                          |
18+------------+--------------------------------+
19| 262-263    |Sectors to skip when writing    |
20+------------+--------------------------------+
21| 264-265    |Setors to skip when reading     |
22+------------+--------------------------------+
23| 266-419    |Reserved                        |
24+------------+--------------------------------+
25| 420-421    |Disk speed                      |
26+------------+--------------------------------+
27| 422-423    |Number of cylinders             |
28+------------+--------------------------------+
29| 424-425    |Alternates per cylinder         |
30+------------+--------------------------------+
31| 426-429    |Reserved                        |
32+------------+--------------------------------+
33| 430-431    |Interleave                      |
34+------------+--------------------------------+
35| 432-433    |Number of data cylinders        |
36+------------+--------------------------------+
37| 434-435    |Number of alternate cylinders   |
38+------------+--------------------------------+
39| 436-437    |Number of heads                 |
40+------------+--------------------------------+
41| 438-439    |Number of sectors per track     |
42+------------+--------------------------------+
43| 440-443    |Reserved                        |
44+------------+--------------------------------+
45| 444-451    |Partition 1 disk map            |
46+------------+--------------------------------+
47| ...        |More partition disk maps        |
48+------------+--------------------------------+
49| 500-507    |Partition 8 disk map            |
50+------------+--------------------------------+
51| 508-509    |Signature (0xDABE)              |
52+------------+--------------------------------+
53| 510-511    |Checksum                        |
54+------------+--------------------------------+
55
56The VTOC itself:
57
58+---------+-----------------------------------+
59| 0-3     | Version                           |
60+---------+-----------------------------------+
61| 4-11    | Volume name                       |
62+---------+-----------------------------------+
63| 12-13   | Number of partitions              |
64+---------+-----------------------------------+
65| 14-15   | Partition 1 type                  |
66+---------+-----------------------------------+
67| 16-17   | Partition 1 flags                 |
68+---------+-----------------------------------+
69| ...     | More partition types and flags    |
70+---------+-----------------------------------+
71| 42-45   | Partition 8 type and flags        |
72+---------+-----------------------------------+
73| 46-57   | Boot info                         |
74+---------+-----------------------------------+
75| 58-59   | Reserved                          |
76+---------+-----------------------------------+
77| 60-63   | Signature 0x600DDEEE              |
78+---------+-----------------------------------+
79| 64-101  | Reserved                          |
80+---------+-----------------------------------+
81| 102-105 | Partition 1 timestamp             |
82+---------+-----------------------------------+
83| ...     | More partition timestamps         |
84+---------+-----------------------------------+
85| 130-133 | Parittion 8 timestamp             |
86+---------+-----------------------------------+
87
88Partition types (informative):
89
900. unassigned
911. /boot
922. /
933. swap
944. /usr
955. entire disk
966. /stand
977. /var
988. /home
999. alternate sector
10010. cachefs
101
102Partition flags:
103
104* 1 - Not mountable
105* 128 - read only
106
107Disk maps:
108
109+-----+-------------------+
110| 0-3 | Starting cylinder |
111+-----+-------------------+
112| 4-7 | Size (in sectors) |
113+-----+-------------------+
114