[openbeosstorage] Amiga RDB
- From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
- To: "OpenBeOS Storage" <openbeosstorage@xxxxxxxxxxxxx>
- Date: Mon, 19 May 2003 20:21:48 +0200 CEST
Hi there,
some weeks ago, I promised to write an eMail about my findings when
writing a scanner for the Amiga RDB partitioning scheme - so here it is
:-)
1) the RDB (Rigid Disk Block) is the partition scheme identifier, it
can be located within the first 16 blocks of a disk. It contains:
- checksum
- block size
- bad blocks list
- fs list
- partition block list
- drive geometry
- drive and controller and -vendor information
The fs list allows for file systems to be placed on a special location,
so that the operating system can boot from a non-native file system. Of
course, that feature originated from AmigaOS, and therefore, should
only be used with it.
We only need the partition block list from there.
2) The partition blocks can be located anywhere on the disk as long as
they are addressable within 32 bit blocks (as defined in the RDB
structure). Note, this limitation is only true for the partition
descriptions, not for the partitions themselves.
A partition block contains:
- checksum
- a pointer to the next partition block
- a disk environment structure
- a name
- flags for bootable and "don't mount"
Typically, all partition blocks are written at the beginning of the
drive, so that they can be read in fast.
3) The disk environment structure contains the information about the
location of the partition on disk. Furthermore, it contains information
about the file system used on that disk:
- block size
- file system identifier (4 byte)
- boot priority
- DMA mask
- ...
It also defines the buffer size that should be used with this file
system, and provides the possibility to define reserved blocks at the
beginning and the end of the partition which won't be used by the file
system itself.
Some general remarks:
- the number of partitions is only limited by the amount of addressable
blocks (so you could have 4 billions of them)
- it's not intended to create sub partitions.
The disk geometry stuff, bad block lists, etc. are targeted towards
older SCSI drives, which we don't have to use, obviously. I don't know
though, if they have to be maintained for compatibility - but I could
check that out.
Adios...
Axel.
- Follow-Ups:
- [openbeosstorage] Re: Amiga RDB
- From: Ingo Weinhold
Other related posts:
- » [openbeosstorage] Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- » [openbeosstorage] Re: Amiga RDB
- [openbeosstorage] Re: Amiga RDB
- From: Ingo Weinhold