linux 设备管理 (三) linux 设备管理实践

devtmpfs静态设备节点udev能否启动dev是否变化sys是否变化
0000(A)--
0010(A)--
010101
01110(F)(H)1
100111
101111
110111
11111(E)1
2000(A)--
2010(A)--
21010(G)1
21110(D)1

devtmpfs
    0:  CONFIG_DEVTMPFS=n
        CONFIG_DEVTMPFS_MOUNT=n
    1:
        CONFIG_DEVTMPFS=y
        CONFIG_DEVTMPFS_MOUNT=y
    2:
        CONFIG_DEVTMPFS=y
        CONFIG_DEVTMPFS_MOUNT=n

静态设备节点
	0 表示 无
	1 表示 有
    在/dev下手动创建了两个节点,并制作rootfs
	crw-------    1 root     root        5,   1 Jan 15 08:20 console
	crw-rw-rw-    1 root     root        1,   3 Jan 15 08:20 null


udev
	0 表示 无
	1 表示 有
  	eudev-3.2.9 自启动
    没有在 /etc/fatab中添加 udev的挂载
能够启动
	0 表示 不能
	1 表示 能
    能够启动后提供一个可供交互的shell
dev是否变化
	0 表示 无
	1 表示 有
    插入一个字符设备驱动(B),dev下是否有新的节点产生
sys是否变化
	0 表示 无
	1 表示 有
    插入一个字符设备驱动(B),sys下是否有新的文件产生
    

        
    
Z:udev /dev  devtmpfs defaults 0 0 
W:udev /dev  tmpfs defaults 0 0 
A:
	循环报错找不到 /dev/console 
F:/etc/fstab 中增加 Z ,运行报错mount: mounting udev on /dev failed : No such device ,能启动 , sys与dev状况与添加前相同
H:
	A1:启动成功后, 执行 mount  -t devtmpfs udev /dev , 报错 mount: mounting udev on /dev failed: No such device
	B1.启动成功后, 执行 mount  -t tmpfs  udev /dev 成功, 查看 /dev 下面没有任何文件
	B2.重启 udevd , 查看 /dev 下面 有一些文件
		# ls /dev/ -R 
		/dev/:
		fd      kmsg    stderr  stdin   stdout
D:/etc/fstab 中增加 Z ,正常启动, dev节点正常出现,sys与添加前相同
    mount 打印 udev on /dev type devtmpfs (rw,relatime,size=255592k,nr_inodes=63898,mode=755)/etc/fstab 中增加 W ,无法启动, 循环报错找不到 /dev/console
E:/etc/fstab 中增加 Z ,正常启动, sys与dev状况与添加前相同
    mount打印 devtmpfs on /dev type devtmpfs (rw,relatime,size=255592k,nr_inodes=63898,mode=755) 
B:
	代码位置:https://github.com/lisider/arm_vexpress_code/blob/master/driver/char_sample/char_sample.c

G:
	启动后执行 mount -t  devtmpfs devtmpfs /dev/
	然后再插入 驱动 , dev 和 sys 都有变化
	
结论
静态文件 + udev(需要配置自启动和mount) 可以正常启动 且 正常管理设备
devtmpfs(需要配置CONFIG_DEVTMPFS和CONFIG_DEVTMPFS_MOUNT=y) 可以正常启动 且 正常管理设备

devtmpfs 在 /dev 中 不 	会建立 链接文件
udev 	 在 /dev 中   	会建立 链接文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值