如何从linux内核中的目录中获取文件列表?

时间:2015-04-05 14:08:48

标签: c linux linux-kernel kernel virtual-directory

我刚看到在任何rootfs 之前有一个ROOT /目录(无论是来自initrd还是形成磁盘)
我已经知道它包含/root/dev已安装的devtmpfs (如果已选择CONFIG_DEVTMPFS_MOUNT

但是我无法找到是否有其他目录以及它们是什么。

所以重点是在第403行之前的init/do_mounts.c插入代码,以便将列表打印到屏幕上。
问题是我不知道如何使用struct direent获取旧readdir() int readdir(unsigned int fd, struct dirent *dirp, unsigned int count);)的目录列表

1 个答案:

答案 0 :(得分:2)

您可以使用filp_open()从内核空间打开文件 你想使用函数iterate_dir()。
你必须定义一个struct dir_context(include / linux / fs.h)并提供某种filldir函数(可能就像在列表中添加条目一样)。