MKNOD(8)

名称
mknod - デバイススペシャルファイルを作成する

書式
mknod [-F format] name [c | b] major minor [-F format] name [c | b] major unit subunit name [c | b] number name p

解説
mknod コマンドは、デバイススペシャルファイルまたは FIFO を作成します。 通常、シェルスクリプト /dev/MAKEDEV で、よく知られているデバイスのスペシャルファイルを作成することができます。 このスクリプトは、 mknod に適切な引数をつけて実行し、そのデバイスに必要な全てのファイルを作成します。

手動でノードを作るには、以下の引数が必要です:

name
    デバイスファイル名です。たとえば “sd” は SCSI ディスクで、 “pty” は疑似デバイスです。

b | c | p
    デバイスの種類です。デバイスがテープやディスクといった cooked と raw の 2 種類のデバイスファイルを必要とするブロック型デバイスのときは b を指定します。それ以外の、端末や疑似デバイスなどといった キャラクタ型デバイスのときには c を指定します。 p を指定すると FIFO ファイルが作成されます。

major
    メジャデバイス番号は、どのデバイスドライバのエントリポイントを使うかを カーネルに教えるための整数です。特定のデバイスが使用するメジャデバイス番号 を知るには、もしそのデバイスが一般的ならばファイル /dev/MAKEDEV を調べるか、システム依存のデバイスコンフィギュレーションファイル

    “/usr/src/sys/<arch>/<arch>/conf.c”

    (例えば /usr/src/sys/vax/vax/conf.c) を調べてください。

minor
    マイナ番号は、そのノードがいくつかある同種のデバイスのうちのどれであるか、 例えば、特定のシリアルポートなのか tty ラインなのか をカーネルに知らせるものです。

unit and subunit
    ユニットとサブユニット番号はデバイスのサブセットを選択するためのものです。 たとえば、ユニットは特定の SCSI ディスクを指し、サブユニットはディスク上の パーティションを指します。 (現在、この指定は BSD/OS の mknod(8) との互換性を保つために bsdos フォーマットだけがサポートしています。)

他のオペレーティングシステムのデバイス番号は、別のフォーマットで 格納してある可能性があります。そのようなオペレーティングシステムで デバイスノードを作成する場合 (たとえば export して netboot で使うファイルシステム内に作る場合) には、 -F を使ってください。フォーマットは native, 386bsd, 4bsd, bsdos, freebsd, hpux, isc, linux, netbsd, osf1, sco, solaris, sunos, svr3, svr4, ultrix を認識します。

上記とは別に、不明瞭にデバイス番号を 1 つだけ指定することもできます。

関連項目
mkfifo(1), mkfifo(2), mknod(2), MAKEDEV(8)

歴史
mknod コマンドは AT&T UNIX から登場しました。 -F オプションは NetBSD 1.4 から登場しました。