当前位置:  技术问答>linux和unix

Ramdisk+JFFS2分区后,导致分区混乱,空间不够的莫名问题..

    来源: 互联网  发布时间:2017-02-03

    本文导语:  各位好, 下面的问题非常没有思路,甚至于都不太清楚应该如何百度谷歌 该问题的答案~~~ 麻烦大家帮忙看下: 问题1:  我们老大说ramdisk作为根文件系统的话,其可用空间应该基本为 RAM的大小。但目前开发板上df...

各位好, 下面的问题非常没有思路,甚至于都不太清楚应该如何百度谷歌
该问题的答案~~~ 麻烦大家帮忙看下:

问题1:  我们老大说ramdisk作为根文件系统的话,其可用空间应该基本为
RAM的大小。但目前开发板上df看到的只有14949.(下面配详细情况)
且已经用了89%了...  请问那个rootfs的大小是应该是100多M么?是的话
要怎么划到那么大啊?  作为运行在RAM中的文件系统,此处列出的空间
具体指的是哪里的空间?flash?

问题2: 我修改了设备树(貌似是powerpc独有的东西,分区都是改这个)
给JFFS2分了512k, df看也是512,JFFS2文件系统挂载后,确实可以
保存内容。但该文件系统大小经实际下载测试,竟然有5M多...
而且更灵异的是,我测试的是一个文本1M的。反复下载多个是没问题的。
但似乎不能下载除了文本之外的大的东西,比如链接库,内核什么的 
都会tftp报 写错误...

问题有点绕, 麻烦大家帮忙看下。以下是问题中提到的详细内容:

平台: 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 (这个错据说是电源问题,目前没发现其影响)


开发板上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

最下面这个mtdblock4就是JFFS2. 不知道为何能容纳5M多的东西进去..
那个tmpfs和shm 我在网上查了,貌似两个是一个东西啊? 怎么这里有两个呢。
再这东西跟ramdisk功能重复了吧。 如何删除呢?是不是可以把他们的空间给
rootfs?

网上说这东西的挂载是再fstab下,但fstab下没有这两个东西....
我的JFFS2就是用这下面的一条命令挂载的,也不知道是不是缺步骤....
[root@mpc8308erdb /]# vi /etc/fstab
#
# /etc/fstab: static file system information.
#
# file system   mount       type    options           dump    pass
#/dev/root       /           ext2    rw,noauto         0       1
proc            /proc       proc    defaults          0       0
devpts          /dev/pts    devpts  gid=5,mode=620    0       0
sysfs           /sys        sysfs   defaults          0       0
#usbfs        /proc/bus/usb  usbfs   defaults          0       0

/dev/mtdblock4  /usr/local/conf jffs2  default        0       0
/dev/fd0        /mnt/floppy auto    noauto,owner      0       0
/dev/cdrom      /mnt/cdrom  iso9660 noauto,owner,ro   0       0

## other examples, uncomment to activate
#/dev/hda2      /opt        ext2    defaults          1       2
#/dev/hda3      swap        swap    defaults          0       0

难道是ramdisk大小设置问题? 
我在内核配置时
device driver
       Block driver
   default RAM disk size  
默认为32768 , 现改为65536 还是不行...不知道这个是搞什么用的..
以前ramdisk超过4M了,不能down到板子上,把这里改成32768就好了
但这个也太大了吧...跟4M不挂钩啊...


下面是分区时,设备树中的代码:
localbus@e0005000 {
#address-cells = ;
#size-cells = ;
compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus";
reg = ;
interrupts = ;
interrupt-parent = ;
ranges = ;

flash@0,0 {
#address-cells = ;
#size-cells = ;
compatible = "cfi-flash";
reg = ;
bank-width = ;
device-width = ;

u-boot@0 {
reg = ;
read-only;
};

kernel@50000 {
reg = ;
};

fs@160000 {
reg = ;
};

dtb@770000 {
reg = ;
};

data@780000 {
reg = ;
};
};

要学的还有很多, 很多地方都很朦胧,导致无法直接判断出问题所在... 麻烦大家了...

|


所谓的透明压缩就是文件系统系压缩,对于用户完全透明,你看到的文件当然是原来的大小

查了一下,jffs2是支持透明压缩的,这就是你问题的根源了

你可以尝试一下写入所有字节都一样的文件,比如全0的文件,能写进去更大

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内存文件系统(ramdisk)的三种实现方式
  • 如何用kimage工具从 映象文件ramdisk 还原出 源文件ramdisk.image.gz
  • 请教:我 gzip ramdisk.gz ,为什么不能把 ramdisk.gz 解压呢?谢谢!
  • 关于制作只用ramdisk+kernel的linux系统,也可以不用ramdisk,只要加载后全部在内存中运行
  • 麻烦哪位大虾给总结一下如何使用ramdisk作为根目录吧?
  • 如何建立和修改ramdisk的大小?(急!)
  • 高分求救:Linux下如何改变Ramdisk大小!急!!在线等待!!!
  • 如何查看并设置诸如ramdisk_size这类内核参数?
  • ramdisk+busybox
  • 如何将pc机系统软件包交叉编译进arm板的ramdisk?
  • ramdisk启动出错说 no cpio magic
  • 怎么建立arm交叉编译环境和ramdisk镜像?
  • 有人做过ramdisk吗?
  • ramdisk
  • 移植uclinnux到xscale关于RAMDISK问题
  • Solaris上的Ramdisk
  • 怎么测试我的ramdisk上的qt能不能用?
  • busybox制作ramdisk文件系统出错
  • 请教,如何修改在虚拟机vmware中安装的linux的ramdisk大小?
  • 编程技术其它 iis7站长之家
  • 请教EXT2-fs error (device ramdisk(1,0))


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3