您的位置:首页 > 其它

ramdisk 和 ramfs 文件系统 (initrd 和 initramfs )

2015-04-06 19:05 411 查看

ramdisk 和 ramfs 的区别

两者的层次不一样,一图概之(以ext2为例)

vfsvfsvfs
 
实际文件系统ext2ramfs
 
磁盘磁盘(用内存模拟,叫ramdisk,需先格式化为ext2)内存
initramfs ,顾名思义就是在系统启动的时候用ramfs作为实际跟文件系统(至于ramfs中是否再次切换实际根文件系统,则是另一个问题)

initrd,就是在系统启动的时候用ramdisk作为实际跟文件系统的模拟磁盘

ramfs 文件系统

注册:

fs/ramfs/inode.c

static struct file_system_type ramfs_fs_type = {
.name = "ramfs",
.mount
= ramfs_mount,
.kill_sb
= ramfs_kill_sb,

};

static int __init init_ramfs_fs(void)

{
return register_filesystem(&ramfs_fs_type);

}

module_init(init_ramfs_fs)

挂载:

在使用的时候
mkdir -p /RAM1

mount -t ramfs none /RAM1

initramfs的挂载:

Initramfs是压缩过后的CPIO文件。编译内核的时候通过链接脚本arch/arm/kernel/vmlinux.lds将其链接到__initramfs_start~__initramfs_end。initramfs的是作为内核的一部分而存在的.

populate_rootfs(init/initramfs.c)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐