.TH MAKEDEV 8 "14th August 1994" Linux "Linux Programmer's Manual" .SH NAME MAKEDEV \- 建立設備 .SH "總覽 (SYNOPSIS)" .B "cd dev; ./MAKEDEV -V" .br .B "cd dev; ./MAKEDEV [ -n ] [ -v ] update" .br .BI "cd dev; ./MAKEDEV [ -n ] [ -v ] [ -d ]" " device ..." .SH "描述 (DESCRIPTION)" .B MAKEDEV 是 一個 腳本程序, 用於 在 \fC/dev\fP 目錄下 建立 設備, 通過 這些 設備文件 可以 訪問 位於 內核 的 驅動程序. .PP 注意, 如果 應用程序 顯示 出錯信息 ``ENOENT: No such file or directory'', 一般指 設備文件 不存在, 而 ``ENODEV: No such device'' 則 表明 內核 沒有 配置 或 裝載 相應的 驅動程序. .SH "選項 (OPTIONS)" .TP .B \-V 顯示 版本信息 (實際上 是 RCS 版本信息) 然後 退出. .TP .B \-n 並不做 真正的 更新, 只是 顯示 一下 它的 執行 效果. .TP .B \-d 刪除 設備文件. 主要 供 .B MAKEDEV 自己 用. .TP .B \-v 繁瑣模式. 顯示出 執行的 每一個 動作. 它的 輸出內容 和 .BR \-n 選項 的 輸出內容 一樣. .SH "自定義 (CUSTOMISATION)" 由於 目前 還沒有 系統 用戶 和 用戶組 的 標準名稱, 你 可能 需要 修改 .B MAKEDEV 以 配合 你的 系統設置. 在 這個 程序 的 開始位置, 定義了 從 設備類型 到 用戶, 用戶組 和 訪問權限 的 映射關係 (例如, 所有的 CD-ROM 設備 通過 \fC$cdrom\fP 變量 設置). 如果 你 打算 改變 缺省定義, 就需要 編輯 這個 部分. .SH "設備 (DEVICES)" .TP .B 基本選項 (General Option) .TP .B update 該選項 只用於 實現了 \fC/proc/interrupts\fP 的 內核(從 1.1.x 開始). MAKEDEV 掃描 這個文件, 檢查 目前 內核 配置了 什麼設備, 它 和 上次 配置 的 設備 做 比較 (記錄在 文件 \fCDEVICES\fP 中), 創建 新設備 或 主設備號 不相同 的 設備, 刪除 沒有 配置的 設備. .TP .B generic 創建 通用設備 子集. 包括 標準設備, 軟驅, 各種硬驅, 僞終端, 控制檯設備, 基本串行設備, 總線鼠標 和 打印口. .TP .B std 標準設備. 它們有: .RS .B mem \- 訪問 物理內存; .RE .RS .B kmem \- 訪問 內核虛擬內存; .RE .RS .B null \- 空設備 (無限寫入 infinite sink); .RE .RS .B port \- 訪問 I/O 端口; .RE .RS .B zero \- 空(0)字節 來源 (無限讀出 infinite source); .RE .RS .B core \- /proc/kcore 的 符號連接 (用於 內核除錯); .RE .RS .B full \- 寫訪問 這個設備 一定 返回 ENOSPACE; .RE .RS .B ram \- 虛擬磁盤 (ramdisk); .RE .RS .B tty \- 訪問 進程 的 控制終端. .RE .TP .B local 運行 .BR MAKEDEV.local . 它是個 腳本程序, 用來 創建 各種 本地設備 (local devices). .TP .B 虛擬終端 (Virtual Terminal) .TP .I console 用於 建立 關聯(associate) 控制檯 的 設備. 就是 虛擬終端 .RI tty x , .I x 從 0 到 63. 設備 tty0 是 當前的 活動 虛擬終端, 也就是 \fCconsole\fP. 每個 虛擬終端 有 兩個 設備, .RI vcs x 和 .RI vcsa x , 用做 虛擬終端 的 屏幕轉儲(screen-dump), .BI vcs x 只有 文本, .BI vcsa x 還包括 屬性. .TP .B 串行設備 (Serial Device) .TP .I ttyS{0..63} 串行口 和 對應的 撥出設備(dial-out). 對於 .BI ttyS x 設備, 有 同樣的 設備 .BI cua x 用於 撥出. 在 一些 簡單 的 應用環境, 這種 形式 可以 避免 使用 協作鎖. .TP .I cyclades 用於 cyclades 智能 I/O 串行卡 的 撥入和撥出 設備. 撥入設備 是 .BI ttyC x , 對應的 撥出設備 是 .BI cub x . 缺省情況是 創建 7線 設備, 但是 去掉 註釋 可以 改成 15線. .TP .B 僞終端 (Pseudo Terminal) .TP .I pty[p-s] 參數中的 每個字符 可以 創建 一組 共 16 個 主從僞終端對. 1.2 版本的 內核 支持 64 對. 主僞終端 是 .BR pty[p-s][0-9a-f] , 從僞終端是 .BR tty[p-s][0-9a-f] . .TP .B 並行口 (Parallel Port) .TP .I lp 標準並行口. 創建的 設備 是 .BR lp0 , .BR lp1 和 .BR lp2 . 它們 對應的 端口 是 0x3bc, 0x378 和 0x278. 因此, 有些 機器 上 的 第一個 打印口 是 .BR lp1 . .TP .I par .IR lp 的替換. 端口 由 .BI par x 命名, 代替了 .BI lp x . .TP .B 總線鼠標 (Bus Mice) .TP .I busmice 各種 總線鼠標 設備. 有 .B logimouse (Logitech bus mouse), .B psmouse (PS/2-style mouse), .B msmouse (Microsoft Inport bus mouse) 和 .B atimouse (ATI XL bus mouse) 和 .B jmouse (J-mouse). .TP .B 遊戲杆設備 (Joystick Device) .TP .I js 遊戲操縱桿. 創建 .B js0 和 .BR js1 . .TP .B Disk Devices .TP .I fd[0-7] 軟驅設備. .BI fd x 設備 能夠 自動檢測 (盤面)格式, 其他設備 採用 固定格式, 在 名字中 指定 容量. 命名格式 是 .BI fd xLn , 字母 .I L 表明 軟盤 規格 (d = 5.25" DD, h = 5.25" HD, D = 3.5" DD, H = 3.5" HD, E = 3.5" ED). 數字 .I n 代表 這種規格下 的 盤面 容量 (單位是K). 因此 標準的容量 是 .BI fd x d360 , .BI fd x h1200 , .BI fd x D720 , .BI fd x H1440 , 和 .RI fd x E2880 . .IP 更多的 內容 請參看 Alain Knaff 的 fdutils 發行包. .IP 從 .BI fd0 * 到 .BI fd3 * 的 設備 是 第一個 控制器 上的 軟驅, 而 .BI fd4 * 到 .BI fd7 * 則 位於 第二個 控制器 上. .TP .I hd[a-d] AT 硬盤. 設備 .BI hd x 提供 對 整個 硬盤 的 訪問, 訪問 分區 用 .BI hd x [0-20]. 四個 主分區 從 .BI hd x 1 到 .BI hd x 4, 它們的 邏輯分區 從 .BI hd x 5 開始 到 .BI hd x 20. (主分區 可以 配置爲 擴展分區, 擴展分區 可以 容納 4個 邏輯分區). 缺省情況下, 一個 設備 只創建 4個 邏輯分區. 如果 要求 更多的 邏輯分區, 可以 在 MAKEDEV 中 去掉 相應的 註釋. .IP 驅動器 hda 和 hdb 位於 第一個 控制器 上. 如果 使用 新型的 IDE 驅動器 (而非 老式的 HD 驅動器), 還會有 hdc 和 hdd, 在 第二個 磁盤控制器上. 這些設備 同樣可以 訪問 IDE CDROM 驅動器. .TP .I xd[a-d] XT 硬盤. 分區結構 和 IDE 硬盤 一樣. .TP .I sd[a-z], sd[a-c][a-z], sdd[a-x] SCSI 硬盤. 分區結構 和 IDE 硬盤 類似, 但是 邏輯分區 限制在 11 個 以內, .RI (sd x 5 到 .RI sd x 15). 允許 有 128個 SCSI 硬盤. .TP .I loop 自環(loopback) 磁盤設備. 允許 你 把 普通文件 當做 塊設備 使用. 這 意味着 可以 掛載(mount) 各種 文件系統 的 映像(文件), 用起來 和 普通 的 文件系統 一樣. 一般 創建 8個 設備, loop0 到 loop7. .TP .B 磁帶設備 (Tape Device) .TP .I st[0-7] SCSI 磁帶. 有 可回捲(rewinding)的 磁帶設備 .BI st x 和 不可回捲(non-rewinding) 的 .BI nst x . .TP .I qic QIC-80 磁帶. 創建 的 設備 有 .BR rmt8 , .BR rmt16 , .BR tape-d 和 .BR tape-reset . .TP .I ftape 軟驅磁帶 (QIC-117). 根據 不同的 驅動方法, 有 四種 存取 方法 0, 1, 2 和 3, 對應 各自的 設備 .BI rft x (可回捲) 和 .BI nrft x (不可回捲). 另外 還提供了 兼容設備 .B ftape 和 .B nftape , 它們是 .B rft0 和 .B nrft0 的 符號連接. .TP .B CDROM 設備 .TP .I scd[0-7] SCSI CD 播放器. .TP .I sonycd Sony CDU-31A CD 播放器. .TP .I mcd Mitsumi CD 播放器. .TP .I cdu535 Sony CDU-535 CD 播放器. .TP .I lmscd LMS/Philips CD 播放器. .TP .I sbpcd{,1,2,3} Sound Blaster CD 播放器. 內核 能夠 支持 16個 CDROM, 通過 .BR sbpcd[0-9a-f] 訪問. 它們 每四個 一組 分配 在 各個 控制器 上. .B sbpcd 是 .BR sbpcd0 的 符號連接. .\" .TP .\" .I idecd .\" NEC CDR-260 (注意: 這個 可能 被 新型的 IDE 驅動器 取代了). .TP .B 掃描儀 (Scanner) .TP .I logiscan Logitech ScanMan32 & ScanMan 256. .TP .I m105scan Mustek M105 手持式. .TP .I ac4096 A4Tek 彩色手持式. .TP .B 音頻 (Audio) .TP .I audio 建立 供 聲音驅動程序 使用的 音頻設備. 包括 .BR mixer , .BR sequencer , .BR dsp 和 .BR audio . .TP .I pcaudio PC 揚聲器 聲音驅動程序 的 設備. 有 .BR pcmixer . .BR pxsp , 和 .BR pcaudio . .TP .B 雜項 (Miscellaneous) .TP .I sg 通用 SCSI 設備. 從 .B sga 到 .B sgh , .B sg0 到 .BR sg7 . 它們 允許 對 任何 SCSI 設備 發出 任意指令. 可以 查詢 設備信息, 或者 控制 不是 磁盤, 磁帶 或 CDROM 的 SCSI 設備 (例如 掃描儀, 可擦寫CDROM). .TP .I fd 允許 任何程序 從 文件描述符 .IR x 中 獲取 輸入, 文件名 是 .BI /dev/fd/ x . 而且 還創建了 .BR /dev/stdin , .BR /dev/stdout , 和 .BR /dev/stderr . (注意, 這些 只是 到 /proc/self/fd 的 符號連接). .TP .I ibcs2 IBCS2 模擬器 所需的 設備(和符號連接). .TP .I apm 電源管理設備. .TP .I dcf DCF-77 radio clock 驅動程序 用的 設備. .TP .I helloworld 內核模塊 的 演示設備. 見 模塊 源程序. .TP .B 網絡設備 Linux 曾經在 /dev 下面 放了一些 設備文件, 用於 控制 網絡設備, 現在 取消了. 想知道 內核 支持 什麼 網絡設備, 請 查看 /proc/net/dev. .SH "另見 (SEE ALSO)" Linux Allocated Devices, H.\ Peter Anvin 維護, . .SH "作者 (AUTHOR)" Nick Holloway, .SH "[中文版最新更新]" .BR 2001/11/03 .SH "《中國linux論壇man手冊頁翻譯計劃》:" .BI http://cmpp.linuxforum.net .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR