主题 : 根文件系统 是什么文件系统,一定要是 YAFFS2吗 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 21258
精华: 1
发帖: 120
金钱: 655 两
威望: 131 点
综合积分: 260 分
注册时间: 2010-05-13
最后登录: 2023-11-17
楼主  发表于: 2010-07-11 17:00

 根文件系统 是什么文件系统,一定要是 YAFFS2吗

在弄mini2440的yaffs2 ,虽然弄进内核了,也能够引导后面的root_qtopia,但这个过程还是很不理解。

按照《mini2440linux移植开发实战指南》,为什么在linux内核中要移植yaffs2,才能引导root_qtopia。难道root_qtopia 也是yaffs2的?linux移植yaffs2是为了 能够识别 root_qtopia?
我看了《mini2440linux移植开发实战指南》中制作根文件系统的过程,也就是最后一步做成镜像的时候用了工具 mkyaffs2image,他就是 把根文件系统做成了yaffs2文件系统格式?
按此推理,mini2440官方给的根文件系统 是 yaffs2文件系统的?


还有,linux内核一定要移植yaffs2,不能移植其他文件系统吗,譬如我一直cramfs,就不能引导root_qtopia?如果行的话,只要制作根文件系统镜像的时候有个 mkcramfsimage的工具就行了呢?(我只管理论,到底有没有这个工具我就不管了)

小弟,真的是一脸茫然,恳请大侠指点。
[ 此帖被imjacob在2010-07-11 17:29重新编辑 ]
级别: 新手上路
UID: 22727
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
综合积分: 50 分
注册时间: 2010-06-06
最后登录: 2010-12-07
1楼  发表于: 2010-07-13 15:00
文件系统格式是随便你自己选的
挂载的时候需要制定类型的
级别: 侠客
UID: 21258
精华: 1
发帖: 120
金钱: 655 两
威望: 131 点
综合积分: 260 分
注册时间: 2010-05-13
最后登录: 2023-11-17
2楼  发表于: 2010-07-16 10:02
但是根文件系统的格式 内核一定要支持是吗?
嵌入式里面根文件系统格式一般是YAFFS2或者JFFS2或者cramfs这种,所以你的根文件系统若是其中之一,则内核一定要支持其中之一,对吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-07-16 11:19
但是根文件系统的格式 内核一定要支持是吗?

是的

嵌入式里面根文件系统格式一般是YAFFS2或者JFFS2或者cramfs这种,所以你的根文件系统若是其中之一,则内核一定要支持其中之一,对吗?

准确的说,yaffs2, jffs2是适用于根文件系统镜像存在于NAND Flash上的情况。而传统的Linux EXT2/EXT3文件系统格式适用于传统的block设备,比如SD卡或者硬盘。
cramfs同时适用于以上两种情况。
就像上面说的,不管采用哪种格式,内核都必须支持它,这是根文件系统正确挂载的前提条件。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
加油
级别: 新手上路
UID: 16582
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
综合积分: 52 分
注册时间: 2010-03-19
最后登录: 2013-07-09
4楼  发表于: 2010-07-17 13:40
“譬如我一直cramfs,就不能引导root_qtopia?如果行的话,只要制作根文件系统镜像的时候有个 mkcramfsimage的工具就行了??”
你说的是对的。。但是cramfs是只读的,只能在内存中运行。在启动的时候也必须用nand的NAND READ 到内存中才能启动。。也就是说你修改了一个文件,(比如建立了一个文件夹)。重新启动后文件夹就没有了。。yaffs2的好就好在他能自己解压到内核中运行。你的更改能写回到nand中。
级别: 新手上路
UID: 35365
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2010-12-30
最后登录: 2010-12-30
5楼  发表于: 2010-12-30 20:49
Ramdisk不是也可以作为文件系统吗?和YAFFS2有什么区别?他们不都是要烧写到FLASH里面去吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2010-12-30 22:40
引用第5楼qinbo于2010-12-30 20:49发表的  :
Ramdisk不是也可以作为文件系统吗?和YAFFS2有什么区别?他们不都是要烧写到FLASH里面去吗?

ramdisk是一种存储设备而不是文件系统。它和Yaffs2的区别就像硬盘和FAT32的区别。我们可以把Flash中存储的各种适用于块设备的文件系统镜像在系统运行时加载到ramdisk中,比如ext2. ext3, cramfs。但不能加载Yaffs2文件系统镜像,因为Yaffs2是针对NAND Flash而特殊设计的一种文件系统。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."