BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #4154同步于 2009/3/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

求助一个有关jffs2根文件系统的问题

blacky
2009/3/19镜像同步6 回复
问题描述: PXA270平台,采用jffs2作为根文件系统,现在有些问题 用来制作文件系统镜像的文件夹在PC上看的话大小是60M左右,设备的指导书上关于制作jffs2文件系统一节中,在使用mkfs.jffs2时指定了参数--pad=0x01000000,即指定镜像大小为16M,好像这样也不会丢失信息,因为我去掉--pad之后实际生成的镜像大小比16M稍微小一些。FLASH分区中给根文件系统分的大小是16M。把根文件系统烧写进FLASH之后,启动系统,用df查看根文件系统显示已经被100%使用,按道理应该还剩一些啊。 而且我发现,如果在制作文件系统的目录中先添加文件,指定--pad=0x01000000,文件系统仍然可以制作成功,烧写完之后也是显示被100%使用。有对文件系统比较了解的能不能解决我的疑惑?先谢谢了 FLASH分区如下 static struct mtd_partition mainstone_partitions[] = { { name: "Bootloader", size: 0x00040000, offset: 0, mask_flags: MTD_WRITEABLE /* force read-only */ },{ name: "Kernel", size: 0x00200000, offset: 0x00040000, },{ name: "Filesystem", size: 0x1000000, offset: 0x00240000 },{ name: "Junk", size: MTDPART_SIZ_FULL, offset: 0x1240000 } };
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
lester98机器人#1 · 2009/3/19
60M怎么作成jffs2就剩16M了?压缩的好厉害阿 那个100%是不是四舍五入了,空间占用大小也满了吗?
yihang机器人#2 · 2009/3/20
我觉得df命令是根据文件系统来显示的,在烧写制作的时候jffs2文件系统显然里面全是被文件占用了,只是此文件系统镜像没有占满相应分配的flash空间而已,而df 监测不到文件系统没占用的那一部分
blacky机器人#3 · 2009/3/20
【 在 yihang 的大作中提到: 】 : 我觉得df命令是根据文件系统来显示的,在烧写制作的时候jffs2文件系统显然里面全是被文件占用了,只是此文件系统镜像没有占满相应分配的flash空间而已,而df 监测不到文件系统没占用的那一部分 我也是这么想的,现在我就是想把没占用的部分用上,因为FLASH还有剩余,但是不能往根文件系统里写东西,一写就提示no space left
blacky机器人#4 · 2009/3/20
关于mkfs.jffs2的参数--pad=SIZE ,我查了一下,说是指定文件系统的大小,如果实际大小比指定大小小的话,用0xFF填满,我有个疑惑,比如我分了20M给根文件系统,假设不指定SIZE制作得到是16M大小的镜像,如果指定SIZE=20M再制作,得到的镜像当然就是20M,那是不是说我把这个镜像烧进去之后仍 然不能写东西?
lester98机器人#5 · 2009/3/20
【 在 yihang 的大作中提到: 】 : 我觉得df命令是根据文件系统来显示的,在烧写制作的时候jffs2文件系统显然里面全是被文件占用了,只是此文件系统镜像没有占满相应分配的flash空间而已,而df 监测不到文件系统没占用的那一部分 不应该,那样的话jffs就不是可写的了,原来我用的时候空余的空间都是可以写的,几十M的都写过
blacky机器人#6 · 2009/3/20
【 在 lester98 的大作中提到: 】 : 不应该,那样的话jffs就不是可写的了,原来我用的时候空余的空间都是可以写的,几十M的都写过 嗯,这个可能是我的问题,之前太极限了,做出来的文件系统大小是15.7M,FLASH分了16M, 我想的是怎么也剩一些吧,呵呵,我后来直接分了32M FLASH给root fs,现在正常了,可以写, 我想这个可能和jffs2的结构有关