linux设备驱动模型之sysfs
sysfs是基于RAM的一种文件系统,在启动时挂载在 /sys目录下
sysfs在内核空间初始化注册过程
void __init start_kernel(void)
vfs_caches_init(totalram_pages);
void __init mnt_init(void)
err = sysfs_init();
err = register_filesystem(&sysfs_fs_type);
register_filesystem(&sysfs_fs_type);
static struct file_system_type sysfs_fs_type = {
.name = "sysfs",
.get_sb = sysfs_get_sb,
.kill_sb = sysfs_kill_sb,
};
//创建一颗vfs树
static int sysfs_get_sb(struct file_system_type *fs_type,
sysfs_fill_super(struct super_block *sb, void *data, int silent)
sysfs_get_inode
sysfs_init_inode
用户空间,在linux开机启动脚本init.rc中执行挂载
mount -t sysfs sysfs /sys