总览 (SYNOPSIS)

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

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

描述 (DESCRIPTION)

MAKEDEV 是 一个 脚本程序, 用于 在 /dev 目录下 建立 设备, 通过 这些
设备文件可以 访问 位于 内核 的 驱动程序.

注意, 如果 应用程序 显示 出错信息 ``ENOENT: No such file or directory'', 一般指 设备文件 不存在, 而
``ENODEV: No such device'' 则 表明 内核 没有配置 或 装载 相应的 驱动程序.

选项 (OPTIONS)

-V
显示 版本信息 (实际上 是 RCS 版本信息) 然后 退出.
-n
并不做 真正的 更新, 只是 显示 一下 它的 执行 效果.
-d
删除 设备文件. 主要 供 MAKEDEV 自己 用.
-v
繁琐模式. 显示出 执行的 每一个 动作. 它的 输出内容 和 -n 选项 的 输出内容 一样.

自定义 (CUSTOMISATION)

由于 目前 还没有 系统 用户 和 用户组 的 标准名称, 你 可能 需要 修改
MAKEDEV 以 配合 你的 系统设置. 在 这个 程序 的 开始位置, 定义了 从 设备类型 到 用户, 用户组 和 访问权限的 映射关系
(例如, 所有的 CD-ROM 设备 通过 $cdrom 变量 设置). 如果 你 打算 改变 缺省定义, 就需要 编辑 这个 部分.

设备 (DEVICES)

基本选项 (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]. 四个 主分区 从 hdx1
hdx4, 它们的 逻辑分区 从 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-d
tape-reset.
ftape
软驱磁带 (QIC-117). 根据 不同的 驱动方法, 有 四种 存取 方法 0, 1, 2 和 3, 对应 各自的 设备
rftx (可回卷) 和 nrftx (不可回卷). 另外 还提供了 兼容设备 ftape
nftape , 它们是 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, dsp
audio.
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. 

MAKEDEV - 建立设备的更多相关文章

  1. linux 设备文件和设备之间联系的建立

    <设备驱动模型>  注:几乎所有的设备结构体都包含"strcut kobject kobj"和"srtuct list_head list"该结构体 ...

  2. linux – tty,ttyS,pts,ptmx,vcs,vcsa设备文件之间的区别?(/dev/tty等)

    linux – tty,ttyS,pts,ptmx,vcs,vcsa设备文件之间的区别? 终端有字符终端和图形终端两种模式.在linux的图形环境下,我们可以通过鼠标点击来完成所有的管理任务,这是图形 ...

  3. NeuSoft(4)编写字符设备驱动

    1.要求:实现简单的字符设备驱动程序 2.源码清单 #include <linux/module.h> #include <linux/types.h> #include &l ...

  4. linux设备模型_转

    建议原博文查看,效果更佳. 转自:http://www.cnblogs.com/wwang/category/269350.html Linux设备模型 (1) 随着计算机的周边外设越来越丰富,设备管 ...

  5. Smart210学习记录------块设备

    转自:http://bbs.chinaunix.net/thread-2017377-1-1.html 本章的目的用尽可能最简单的方法写出一个能用的块设备驱动.所谓的能用,是指我们可以对这个驱动生成的 ...

  6. Linux驱动设计——字符设备驱动(一)

    Linux字符设别驱动结构 cdev结构体 struct cdev { struct kobject kobj; struct module *owner; const struct file_ope ...

  7. Tiny6410 LED字符设备驱动

    1.查看用户手册 led1.led2.led3.led4 连接的分别是 GPK4.GPK5.GPK6.GPK7 2.查询6410芯片手册 下面还需要3个步骤: 1.设置GPIO为OUTPUT. 将GP ...

  8. Linux内核分析(五)----字符设备驱动实现

    原文:Linux内核分析(五)----字符设备驱动实现 Linux内核分析(五) 昨天我们对linux内核的子系统进行简单的认识,今天我们正式进入驱动的开发,我们今后的学习为了避免大家没有硬件的缺陷, ...

  9. VB中的GDI编程-1 设备环境DC

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

随机推荐

  1. Burp suite抓取HTTPS请求

    一.下载链接:Burp suite 密码:orpr 二.抓取浏览器HTTPS请求 1.打开CMD,进入到Burp suite下载路径,执行:java -jar BurpLoader.jar 2.点击 ...

  2. 【后台管理系统】—— Ant Design Pro页面相关(二)

    一.弹框Modal表单 使用Form.create()包装得到一个含有this.props.form属性的CreatForm自组件 从页面主(父)组件获得props数据和propsMethod方法 r ...

  3. 一元回归1_基础(python代码实现)

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  4. 如何解决excel工作簿保护密码

    自己的excel文档设置了“保护工作簿”密码,但是密码又忘记了,怎么办? 如果你会编写代码,那么这个问题非常好解决.Excel内置功能不能解决的事儿,自己编写一段代码或许就可以搞定了. 第一步,大家已 ...

  5. 方法二破解:Excel工作表保护密码

    最简单,复制整表,粘贴在全新的表中.但是有时候会丢失一些元素 在excel2016中实测验证过有效 第1步:在工作表菜单栏上添加[开发工具].方法是:依次单击[文件]--->[选项]---> ...

  6. 浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID -费元星

    在公司做数据分析的时候,发现NA端有很多ID,所有来系统的理解一下,有问题大家多指出   [心路历程] 最近刚好在思考工作中统计数据所用的标识码产生的数据误差到底有多大,借此机会几番搜索资料+请教大神 ...

  7. PostgreSQL 实现按月按年,按日统计 分组统计

    endtime 是 timestamp select to_char(endtime, 'YYYY-MM-DD') as d , count(objectid) FROM sde.polygon wh ...

  8. HAProxy、Keepalived 在 Ocatvia 的应用实现与分析

    目录 文章目录 目录 Amphora 启动 keepalived 启动 haproxy 最后 Amphora 创建一个 loadbalancer 需要占用一到两台 Amphora Instance 作 ...

  9. Mybatis-plus 思维导图,让 Mybatis-plus 不再难懂

    摘要: Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生. mybatis-plus与mybatis myba ...

  10. 每次进步一点点——linux expect 使用

    1. 介绍 expect是建立在tcl(参见:Tcl/Tk快速入门 )基础上的一个工具,它可以让一些需要交互的任务自动化地完成.相当于模拟了用户和命令行的交互操作. 一个具体的场景:远程登陆服务器,并 ...