mdev.c (1.char,block的区分2.mdev.conf配置文件中=,>)

busybox/util-linux/mdev.c

/* http://kernel.org/doc/pending/hotplug.txt says that only

* "/sys/block/..." is for block devices. "/sys/bus" etc is not.
* But since 2.6.25 block devices are also in /sys/class/block.
* We use strstr("/block/") to forestall future surprises. */
type = S_IFCHR;
if (strstr(path, "/block/") || (G.subsystem && strncmp(G.subsystem, "block", 5) == 0))
type = S_IFBLK;


在/sys目录下,除了/sys/block,/sys/class/block目录中保存的块设备,其他/sys/class/*目录都是字符设备,所以mdev应用程序是通过判断DEVPATH中是否包含/block/子字符串来判断是block device 还是 char device,
所以,驱动程序要实现mdev,只要在/sys/block或者/sys/class/block(块设备),/sys/class目录下创建名字为设备名的目录,并包含dev(格式为major:minor\n)文件



----------------------cut---------------------

在mdev.conf配置文件中 = >的作用

 * When line matches, the device node is created, chmod'ed and chown'ed,
 * moved to path, and if >path, a symlink to moved node is created,
 * all this if /sys/class/.../dev exists.
 *    Examples:
 *    =loop/      - moves to /dev/loop

 *    >disk/sda%1 - moves to /dev/disk/sdaN, makes /dev/sdaN a symlink

 *


自己的理解:=相当于mv,>相当于先mv,在ln -s创建软连接

你可能感兴趣的:(mdev.c (1.char,block的区分2.mdev.conf配置文件中=,>))