DK(4) | Device Drivers Manual | DK(4)

# NAME

`dk` — disk partition (wedge) driver

# SYNOPSIS

`options DKWEDGE_AUTODISCOVER`
`options DKWEDGE_METHOD_APPLE`
`options DKWEDGE_METHOD_BSDLABEL`
`options DKWEDGE_METHOD_GPT`
`options DKWEDGE_METHOD_MBR`
`options DKWEDGE_METHOD_RDB`
`options DKWEDGE_METHOD_TOS`

# DESCRIPTION

The `dk` driver provides a disk-like interface, or wedge, to an area of a physical disk. Wedges may be configured manually with dkctl(8) or automatically by the kernel upon the attachment of the physical disk.

Wedges need to have unique names. If a duplicate name is detected during auto-discovery, that partition is ignored.

# KERNEL OPTIONS

`DKWEDGE_AUTODISCOVER`
  Automatically detect and configure wedges using any available methods. For each partition found, a wedge with a corresponding name is created.

  Currently only `DKWEDGE_METHOD_GPT` and `DKWEDGE_METHOD_APPLE` are enabled by default.

`DKWEDGE_METHOD_APPLE`
  Apple partition map detection method.
`DKWEDGE_METHOD_BSDLABEL`
  BSD disklabel detection method. For each configured partition in the disklabel(5) that is not of type `FS_UNUSED`, a wedge is created and named after the d_packname field followed by ‘`/`’ and the partition letter ‘`a`’..‘`p`’.

  When the d_packname is empty or has the value ‘`fictitious`’, the regular partition names are used as wedge names, i.e. the device name, unit number and partition letter, for example ‘`wd0a`’.

`DKWEDGE_METHOD_GPT`
  Extensible Firmware Interface Globally Unique Identifier Partition Table (GPT) detection method.

  For every GPT partition a wedge is created and named after the partition label. GPT partitions are UTF-16–encoded, this is converted into UTF-8. If a partition has no label, its UUID is used instead.

`DKWEDGE_METHOD_MBR`
  IBM PC-compatible Master Boot Record (MBR) partitioning detection method, with support for Extended MBRs.

  For every partition in the MBR a wedge is created and named like a regular partition name, i.e. the device name, unit number and a partition letter, for example ‘`wd0e`’. Primary partitions start with ‘`e`’, extended partitions start with ‘`i`’.

`DKWEDGE_METHOD_RDB`
  Amiga Rigid Disk Block (RDB) partitioning detection method.
`DKWEDGE_METHOD_TOS`
  Atari's TOS partition map detection method, for disks that conform to Atari's AHDI specification.

  For each partition, a wedge is created with a name of the format `ATARI_`{type}`_`{number} where type may either be ‘`GEM`’ or ‘`BGM`’. The number 0 partition typically corresponds to the ‘`C:`’ drive when read on an actual Atari, the next to ‘`D:`’ and so on. Extended partitions (those of type ‘`XGM`’) are not currently supported.

# FILES

/dev/dk*
  Block mode `dk` device special files.
/dev/rdk*
  Raw mode `dk` device special files.

# SEE ALSO

config(1), disklabel(8), dkctl(8), fdisk(8), gpt(8), MAKEDEV(8)

# HISTORY

The `dk` driver first appeared in NetBSD 3.0.

# AUTHORS

The `dk` driver was written by Jason R. Thorpe.

April 2, 2024 | NetBSD 11.0