Copyright (c) Hyperion Entertainment and contributors.
RDB
Introduction
The Rigid Disk Block (RDB) is the Amiga way to store information about mass storage geometries and partitioning. Compared to the old, but still widely in used PC standard Master Boot Record (MBR) its a flexible structure with a linked list for the partitions.
It is also able to store complete filesystem binaries and boot code, tough this is not used on AmigaOS 4 anymore.
Limits
* It can store as much partitions as can fit in the reserved area for the RDB.
Disk size
The RDB has a quite high limit on the maximum device size, but note that currently each filesystem interprets the partition layout by itself.
The raw limit on the maximum device capacity is about 2^105 bytes:
32 bit rdb_Cylinders * 32 bit rdb_Heads * 32 bit rdb_Sectors * 512 bytes/sector for the HD size in struct RigidDiskBlock
Partition size
For the partitions the maximum size is:
32 bit (de_HighCyl + 1 - de_LowCyl) (to get the partition size) * 32 bit de_Surfaces * 32 bit de_SectorsPerTrack * 512 bytes/sector in struct DosEnvec (=pb_Environment[]) in struct PartitionBlock.