linux驱动编程中mknod中的major怎么确定

linux驱动编程中mknod中的major怎么确定,第1张

awk"\$2"= =\"$module\"{printf \$1}"/proc/devices 的意思是打开/proc/devices文件查询,发现某行第二列的的单词等于$module时,输出第一列单词,即所需major 因为 major 为 0 是系统分配的,分配的结果在 /proc/devices 里,在 创建 mknod 就是通过这种方式来建立的,但在2.6的内核 有 udev 机制 ,通过class_device_create 一类的函数来自动 在/dev 里创建设备节点

1. mknod

用法:mknod 设备名称 【bcp】【major】【minor】

设备种类,

b : 设置设备名称为外部的外部的存储设备文件 eg:硬盘

c : 设置设备名称为外部输入设备文件eg:键盘/鼠标

p : 设置设备名称为fifo文件

major:主要设备名称代码

minor:次要设备代码

eg:【~~~】#mknod /dev/hda10 310

注:3和10 只有特殊意义的,不可随意的设置

在linux系统中,所有的设备都是以文件的形式来表示的,也就是通过文件的主 与 次 来表示的,硬盘的主与次如下所示:

硬盘代号 主【major】 次【minor】

/dev/sda 3 0~63

/dev/sdb 3 64~127

/dev/sdc 22 0~63

/dev/sdd 22 64~127

2.e2label

【~~~~~~】#e2label 设备名称 新的label名称

【~~~~~~】#e2label /dev/sda1sda1

【~~~~~~】#dumpe2fs -h /dev/sda1

命令的主要的主要作用是用来修改“磁盘的表头数据”,即磁盘的卷标。 但是请注意,如果你刚好有两个硬盘,如果你修改了卷标,刚好和另外的有个分区有相同的卷标,系统就无法判断哪个分区是正确的。

这些命令都是不算是特别常用的,常用的命令你可以学习下这里。第2章

新手必须掌握的linux命令。www.linuxprobe.com/chapter-02.html,最后我觉得还算是写干货,对于新手很适合。

3.tune2fs

【~~~~~~~】#tune2fs 【-jll】设备号

-j:将ext2的文件系统转换为ext3的文件系统

-l:将超级快内的数据度出来,该功能类似于dumpe2fs -h的功能

-l:修改文件系统的卷标,类似于e2label的功能

eg:【~~~~~~】#tune2fs -l /dev/sda1

更多的功能请参考man tune2fs

4.hdparm

如硬盘有dma模式的功能,系统却没有启动它,那么,硬盘的读取性能可能会降低一半以上,就可以使用该命令来启动dma模式的功能。该命令有很多的高级的参数设置值,所以不建议随便的修改,否则容易造成硬盘崩溃,使用这个命令,最多的就是启动dma功能,并测试硬盘的访问性能就可以了。

【~~~~~~~】#hdparm【-icdmxtt】 设备名称

-i:将系统启动过程中使用的本身的核心的驱动程序来测试硬盘的测试值取出来,但是这些值不一定是正确的

-d:设置是否启用dma模式,-d1为启动,-d0为取消。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7105721.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存