Arch manual pages

MAKEDEV(8) Linux Programmer's Manual MAKEDEV(8)

MAKEDEV - 建立設備

cd dev; ./MAKEDEV -V
cd dev; ./MAKEDEV [ -n ] [ -v ] update
cd dev; ./MAKEDEV [ -n ] [ -v ] [ -d ] device ...

MAKEDEV 是 一個 腳本程序, 用於 在 /dev 目錄下 建立 設備, 通過 這些 設備文件 可以 訪問 位於 內核 的 驅動程序.

注意, 如果 應用程序 顯示 出錯信息 ``ENOENT: No such file or directory'', 一般指 設備文件 不存在, 而 ``ENODEV: No such device'' 則 表明 內核 沒有 配置 或 裝載 相應的 驅動程序.

-V
顯示 版本信息 (實際上 是 RCS 版本信息) 然後 退出.
-n
並不做 真正的 更新, 只是 顯示 一下 它的 執行 效果.
-d
刪除 設備文件. 主要 供 MAKEDEV 自己 用.
-v
繁瑣模式. 顯示出 執行的 每一個 動作. 它的 輸出內容 和 -n 選項 的 輸出內容 一樣.

由於 目前 還沒有 系統 用戶 和 用戶組 的 標準名稱, 你 可能 需要 修改 MAKEDEV 以 配合 你的 系統設置. 在 這個 程序 的 開始位置, 定義了 從 設備類型 到 用戶, 用戶組 和 訪問權限 的 映射關係 (例如, 所有的 CD-ROM 設備 通過 $cdrom 變量 設置). 如果 你 打算 改變 缺省定義, 就需要 編輯 這個 部分.

基本選項 (General Option)
update
該選項 只用於 實現了 /proc/interrupts 的 內核(從 1.1.x 開始). MAKEDEV 掃描 這個文件, 檢查 目前 內核 配置了 什麼設備, 它 和 上次 配置 的 設備 做 比較 (記錄在 文件 DEVICES 中), 創建 新設備 或 主設備號 不相同 的 設備, 刪除 沒有 配置的 設備.
generic
創建 通用設備 子集. 包括 標準設備, 軟驅, 各種硬驅, 僞終端, 控制檯設備, 基本串行設備, 總線鼠標 和 打印口.
std
標準設備. 它們有:
mem - 訪問 物理內存;
kmem - 訪問 內核虛擬內存;
null - 空設備 (無限寫入 infinite sink);
port - 訪問 I/O 端口;
zero - 空(0)字節 來源 (無限讀出 infinite source);
core - /proc/kcore 的 符號連接 (用於 內核除錯);
full - 寫訪問 這個設備 一定 返回 ENOSPACE;
ram - 虛擬磁盤 (ramdisk);
tty - 訪問 進程 的 控制終端.
local
運行 MAKEDEV.local. 它是個 腳本程序, 用來 創建 各種 本地設備 (local devices).
虛擬終端 (Virtual Terminal)
console
用於 建立 關聯(associate) 控制檯 的 設備. 就是 虛擬終端 ttyx, x 從 0 到 63. 設備 tty0 是 當前的 活動 虛擬終端, 也就是 console. 每個 虛擬終端 有 兩個 設備, vcsx 和 vcsax, 用做 虛擬終端 的 屏幕轉儲(screen-dump), vcsx 只有 文本, vcsax 還包括 屬性.
串行設備 (Serial Device)
ttyS{0..63}
串行口 和 對應的 撥出設備(dial-out). 對於 ttySx 設備, 有 同樣的 設備 cuax 用於 撥出. 在 一些 簡單 的 應用環境, 這種 形式 可以 避免 使用 協作鎖.
cyclades
用於 cyclades 智能 I/O 串行卡 的 撥入和撥出 設備. 撥入設備 是 ttyCx, 對應的 撥出設備 是 cubx. 缺省情況是 創建 7線 設備, 但是 去掉 註釋 可以 改成 15線.
僞終端 (Pseudo Terminal)
pty[p-s]
參數中的 每個字符 可以 創建 一組 共 16 個 主從僞終端對. 1.2 版本的 內核 支持 64 對. 主僞終端 是 pty[p-s][0-9a-f], 從僞終端是 tty[p-s][0-9a-f].
並行口 (Parallel Port)
lp
標準並行口. 創建的 設備 是 lp0, lp1lp2. 它們 對應的 端口 是 0x3bc, 0x378 和 0x278. 因此, 有些 機器 上 的 第一個 打印口 是 lp1.
par
lp 的替換. 端口 由 parx 命名, 代替了 lpx.
總線鼠標 (Bus Mice)
busmice
各種 總線鼠標 設備. 有 logimouse (Logitech bus mouse), psmouse (PS/2-style mouse), msmouse (Microsoft Inport bus mouse) 和 atimouse (ATI XL bus mouse) 和 jmouse (J-mouse).
遊戲杆設備 (Joystick Device)
js
遊戲操縱桿. 創建 js0js1.
Disk Devices
fd[0-7]
軟驅設備. fdx 設備 能夠 自動檢測 (盤面)格式, 其他設備 採用 固定格式, 在 名字中 指定 容量. 命名格式 是 fdxLn, 字母 L 表明 軟盤 規格 (d = 5.25" DD, h = 5.25" HD, D = 3.5" DD, H = 3.5" HD, E = 3.5" ED). 數字 n 代表 這種規格下 的 盤面 容量 (單位是K). 因此 標準的容量 是 fdxd360, fdxh1200, fdxD720, fdxH1440, 和 fdxE2880.
更多的 內容 請參看 Alain Knaff 的 fdutils 發行包.
fd0*fd3* 的 設備 是 第一個 控制器 上的 軟驅, 而 fd4*fd7* 則 位於 第二個 控制器 上.
hd[a-d]
AT 硬盤. 設備 hdx 提供 對 整個 硬盤 的 訪問, 訪問 分區 用 hdx[0-20]. 四個 主分區 從 hdx1hdx4, 它們的 邏輯分區 從 hdx5 開始 到 hdx20. (主分區 可以 配置爲 擴展分區, 擴展分區 可以 容納 4個 邏輯分區). 缺省情況下, 一個 設備 只創建 4個 邏輯分區. 如果 要求 更多的 邏輯分區, 可以 在 MAKEDEV 中 去掉 相應的 註釋.
驅動器 hda 和 hdb 位於 第一個 控制器 上. 如果 使用 新型的 IDE 驅動器 (而非 老式的 HD 驅動器), 還會有 hdc 和 hdd, 在 第二個 磁盤控制器上. 這些設備 同樣可以 訪問 IDE CDROM 驅動器.
xd[a-d]
XT 硬盤. 分區結構 和 IDE 硬盤 一樣.
sd[a-z], sd[a-c][a-z], sdd[a-x]
SCSI 硬盤. 分區結構 和 IDE 硬盤 類似, 但是 邏輯分區 限制在 11 個 以內, (sdx5 到 sdx15). 允許 有 128個 SCSI 硬盤.
loop
自環(loopback) 磁盤設備. 允許 你 把 普通文件 當做 塊設備 使用. 這 意味着 可以 掛載(mount) 各種 文件系統 的 映像(文件), 用起來 和 普通 的 文件系統 一樣. 一般 創建 8個 設備, loop0 到 loop7.
磁帶設備 (Tape Device)
st[0-7]
SCSI 磁帶. 有 可回捲(rewinding)的 磁帶設備 stx 和 不可回捲(non-rewinding) 的 nstx.
qic
QIC-80 磁帶. 創建 的 設備 有 rmt8, rmt16, tape-dtape-reset.
ftape
軟驅磁帶 (QIC-117). 根據 不同的 驅動方法, 有 四種 存取 方法 0, 1, 2 和 3, 對應 各自的 設備 rftx (可回捲) 和 nrftx (不可回捲). 另外 還提供了 兼容設備 ftapenftape , 它們是 rft0nrft0 的 符號連接.
CDROM 設備
scd[0-7]
SCSI CD 播放器.
sonycd
Sony CDU-31A CD 播放器.
mcd
Mitsumi CD 播放器.
cdu535
Sony CDU-535 CD 播放器.
lmscd
LMS/Philips CD 播放器.
sbpcd{,1,2,3}
Sound Blaster CD 播放器. 內核 能夠 支持 16個 CDROM, 通過 sbpcd[0-9a-f] 訪問. 它們 每四個 一組 分配 在 各個 控制器 上. sbpcdsbpcd0 的 符號連接.
掃描儀 (Scanner)
logiscan
Logitech ScanMan32 & ScanMan 256.
m105scan
Mustek M105 手持式.
ac4096
A4Tek 彩色手持式.
音頻 (Audio)
audio
建立 供 聲音驅動程序 使用的 音頻設備. 包括 mixer, sequencer, dspaudio.
pcaudio
PC 揚聲器 聲音驅動程序 的 設備. 有 pcmixer. pxsp, 和 pcaudio.
雜項 (Miscellaneous)
sg
通用 SCSI 設備. 從 sgasgh , sg0sg7. 它們 允許 對 任何 SCSI 設備 發出 任意指令. 可以 查詢 設備信息, 或者 控制 不是 磁盤, 磁帶 或 CDROM 的 SCSI 設備 (例如 掃描儀, 可擦寫CDROM).
fd
允許 任何程序 從 文件描述符 x 中 獲取 輸入, 文件名 是 /dev/fd/x. 而且 還創建了 /dev/stdin, /dev/stdout, 和 /dev/stderr. (注意, 這些 只是 到 /proc/self/fd 的 符號連接).
ibcs2
IBCS2 模擬器 所需的 設備(和符號連接).
apm
電源管理設備.
dcf
DCF-77 radio clock 驅動程序 用的 設備.
helloworld
內核模塊 的 演示設備. 見 模塊 源程序.
網絡設備
Linux 曾經在 /dev 下面 放了一些 設備文件, 用於 控制 網絡設備, 現在 取消了. 想知道 內核 支持 什麼 網絡設備, 請 查看 /proc/net/dev.

Linux Allocated Devices, H. Peter Anvin 維護, <Peter.Anvin@linux.org>.

Nick Holloway, <Nick.Hollowa

徐明 <xuming@iname.com>

2001/11/03

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
14th August 1994 Linux