免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 24595952 | 回复: 24595952
打印 上一主题 下一主题

[操作系统] 根文件系统ramdisk容量问题,为何空间不足? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-11 12:00 |只看该作者 |倒序浏览
ramdisk是运行在内存中的,那么在系统运行中进行tftp操作down下来的
文件是默认下载至内存中? 这样的话,可用空间就是整个RAM的大小?

开发板上df命令的打印:
[root@mpc8308erdb /]# df
Filesystem           1k-blocks      Used   Available Use% Mounted on
rootfs                   14987     12868         1364  90% /
/dev/root                14987     12868       1364  90% /
tmpfs                    63340        16           63324   0% /dev
shm                      63340         0            63340   0% /dev/shm
rwfs                       512         0                 512   0% /mnt/rwfs
/dev/mtdblock4      512       296             216  58% /usr/local/conf
(最后这个是jffs2文件系统. 单独挂载的)

下的东西应该是都存到rootfs中了。 但这个为何只有14M多?
重新编译内核,如果编译前往内核中加些东西,这个rootfs大小还会增加,
但剩余空间一直很小,很容易满...

请问这个1k-blocks是根据什么计算出来的? 如何扩大???
现在需要在运行过程中下载一些测试性程序,但一直提示空间不足。
把东西都下到/dev/shm下感觉不是长久办法。  想弄明白rootfs 为何这么小!!


以下是为了便于大家分析,提供一些相关信息:

平台: freescale powerpc
内核: 2.6.29
nor flash: 8M
SDRAM:    128M

分区部分的打印:
Fixed MDIO Bus: probed
Driver 'sd' needs updating - please use bus_type methods
fe000000.flash: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
fe000000.flash: Swapping erase regions for broken CFI table.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
RedBoot partition parsing not available
Creating 5 MTD partitions on "fe000000.flash":
0x000000000000-0x000000050000 : "u-boot"
0x000000050000-0x000000160000 : "kernel"
0x000000160000-0x000000770000 : "fs"
0x000000770000-0x000000780000 : "dtb"
0x000000780000-0x000000800000 : "data"
No NAND device found!!!
i2c /dev entries driver
rtc-ds1307: probe of 0-0068 failed with error -5 (这个错据说是电源问题,目前没发现其影响)

论坛徽章:
0
2 [报告]
发表于 2012-01-11 13:46 |只看该作者
为何没人回复啊....是发的位置不对么??

论坛徽章:
0
3 [报告]
发表于 2012-01-11 14:05 |只看该作者
全部占用内存问题,我这里有一台也有这个问题(mpc8315),由于是拿来玩的,时间紧没去管它,期待解答。
而No NAND device found!!!我觉得和这篇文章讲的有关,多调试下看看。http://blog.csdn.net/liukun321/article/details/6617857

论坛徽章:
0
4 [报告]
发表于 2012-01-11 18:34 |只看该作者
回复 1# dongyang626


    你的根文件系统放在哪个设备上?一般tftp下载都会默认到根文件系统管理的home目录下。。。。
   第二:你的flash没有被识别出来:No NAND device found!!!,这是在内核代码:nand_base.c文件中的nand_scan_ident中报出来的。。。这个错误一般是在nand_ids.c文件中的:
struct nand_flash_dev nand_flash_ids[]这个数组中没有定义你的flash型号,大小,等等。。。

论坛徽章:
0
5 [报告]
发表于 2012-01-11 18:36 |只看该作者
回复 1# dongyang626


    前一段时间我刚写一个MTD框架下的大容量的nandflash驱动,这方面遇到了很多问题,后来无奈之下只好把MTD下面的内核代码看了一遍,问题基本都解决了。。。在这过程中还向T-BAG兄弟请教了一下。。。

论坛徽章:
0
6 [报告]
发表于 2012-01-11 18:38 |只看该作者
回复 1# dongyang626

发现网上关于Nandflash的MTD下的驱动不全,而且很多细节都没有,尤其是大容量nandflash的驱动,等我把这个驱动测试差不多了,然后写个总结和大家分享分享
   

论坛徽章:
0
7 [报告]
发表于 2012-01-12 09:06 |只看该作者
chenrvmldd 发表于 2012-01-11 18:38
回复 1# dongyang626

发现网上关于Nandflash的MTD下的驱动不全,而且很多细节都没有,尤其是大容量nand ...

  相当期待斑竹的总结

论坛徽章:
0
8 [报告]
发表于 2012-01-13 12:52 |只看该作者
回复 3# 伤不起


    板子上没有nand flash哈, 所以这个打印是正常的, 问题解决了, 我回复在下面了..

论坛徽章:
0
9 [报告]
发表于 2012-01-13 13:00 |只看该作者
期待中……

论坛徽章:
0
10 [报告]
发表于 2012-01-13 13:00 |只看该作者
回复 4# chenrvmldd


   不好意思,我在帖子里没写明白。  开发板上是没有nand flash的, 我们只用nor , 所以那个打印是正常的。

  ramdisk就作为了根文件系统。在nor flash的一个分区上..
   jffs2作为配置文件存储的位置, 也放在了nor flash 的一个分区上.


对于: ramdisk是运行在内存中 ,那么是不是ramdisk文件系统的大小就为整个内存大小. 这个问题,我通过编译完ramdisk的打印找到了答案。
      没搞错的话, 默认生成ramdisk时,就限制了这个文件系统的大小,一般为刚好装载完所有文件后再扩大10%.
所以df出来的 文件系统大小,总是使用了90%.

扩大的话, 在制作时候,有一个选项, 中午现在使用的不是我的电脑..等回到我电脑上,我再贴出来怎么扩大的。

扩大后, 空间就够了,但这扩大的空间是占用的内存的。而且是不会被回收的, 需要权衡扩大。

总感觉没说明白呢....{:3_183:}

另,期待斑竹的总结帖哈....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP