Disk drivers

The first thing you need to determine is which hardware you have controlling the disk interface. We support a number of interfaces, including various flavors of SCSI controllers and the EIDE controller. For details on the supported interface controllers, see the various devb-* entries in the Utilities Reference.

The only action required in your buildfile is to start the driver (e.g. devb-aha7). The driver will then dynamically load the appropriate modules (in this order):

  1. libcam.so — Common Access Method library
  2. cam-*.so — Common Access Method module(s)
  3. io-blk.so — block I/O module
  4. fs-*.so — filesystem personality module(s)

The CAM .so files are documented under cam-* in the Utilities Reference. Currently, we support CD-ROMs (cam-cdrom.so), hard disks (cam-disk.so), and optical disks (cam-optical.so).

The io-blk.so module is responsible for dealing with a disk on a block-by-block basis. It includes caching support.

The fs-* modules are responsible for providing the high-level knowledge about how a particular filesystem is structured. We currently support the following:

Filesystem Module
MS-DOS fs-dos.so
Linux fs-ext2.so
Macintosh HFS and HFS Plus fs-mac.so
Windows NT fs-nt.so
QNX 4 fs-qnx4.so
Power-Safe fs-qnx6.so
ISO-9660 CD-ROM, Universal Disk Format (UDF) fs-udf.so