工程师您好!
最近我在使用appro ipnc dm368时发现,在板子正常运行时,通过终端在板内创建文件夹或者做tftp操作时,发现系统总会报错,比如使用tftp向板内写文件时,报错tftp: can't open 'motion_detect': No space left on device,我在内核中尝试扩大文件系统的分区,但是仍然出现这种情况。
PS: 在板内使用df命令,输出如下
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0:rootfs 34060 34060 0 100% /
devtmpfs 22080 0 22080 0% /dev
ubi1:ubifs_volume 4928 28 4616 1% /mnt/nand
none 22152 28 22124 0% /var/volatile/run
none 25600 44 25556 0% /tmp
/dev/ram0 4072 52 4020 1% /mnt/ramdisk
以下是uboot中的bootargs :
setenv bootargs 'mem=48M console=ttyS1,115200n8 noinitrd ip=dhcp rw ubi.mtd=3,2048 rootfstype=ubifs root=ubi0:rootfs cmemk.phys_start=0x83000000 cmemk.phys_end=0x88000000 cmemk.phys_start_1=0x00001000 cmemk.phys_end_1=0x00008000 cmemk.pools_1=1×28672 cmemk.allowOverlap=1 cmemk.useHeapIfPoolUnavailable=1 nohz=off highres=off clocksource=acpi_pm lpj=1077248 eth=$(ethaddr) quiet'
不知道“no space on device”是否和ubi0:rootfs全部用完有关系?如果是这样,那我应该如何修改来扩大这个分区呢?
希望可以得到各位高手的帮助,万分感谢!!!
Chris Meng:
你好,
我认为是的。
修改文件系统大小,请参考论坛讨论http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/66758/154832.aspx#154832。
weidong yao:
回复 Chris Meng:
感谢您的回复,您提供的这个链接是我之前发的~
我已经按照您在这个帖子里提供的建议增大了内核分区和文件系统分区的大小,但是还是出现这个问题。
static struct mtd_partition davinci_nand_partitions[] = { { /* UBL (a few copies) plus U-Boot */ .name = "bootloader", .offset = 0, .size = 24 * NAND_BLOCK_SIZE, .mask_flags = 0, }, { /* U-Boot environment */ .name = "params", .offset = MTDPART_OFS_APPEND, .size = 16 * NAND_BLOCK_SIZE, .mask_flags = 0, }, { .name = "kernel", .offset = MTDPART_OFS_APPEND, .size = SZ_2M + SZ_2M +SZ_2M, .mask_flags = 0,
}, { .name = "filesystem1", .offset = MTDPART_OFS_APPEND, .size = SZ_48M, .mask_flags = 0, }, { .name = "data1", .offset = MTDPART_OFS_APPEND, .size = SZ_8M, .mask_flags = 0, },{ .name = "filesystem2", .offset = MTDPART_OFS_APPEND, .size = SZ_48M , .mask_flags = 0, }, { .name = "data2", .offset = MTDPART_OFS_APPEND, .size = MTDPART_SIZ_FULL, .mask_flags = 0, },
/* two blocks with bad block table (and mirror) at the end */};
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0:rootfs 34060 34060 0 100% /devtmpfs 22080 0 22080 0% /devubi1:ubifs_volume 4928 28 4616 1% /mnt/nandnone 22152 28 22124 0% /var/volatile/runnone 25600 44 25556 0% /tmp/dev/ram0 4072 52 4020 1% /mnt/ramdisk
ubi0:rootfs的大小(34060)似乎没有发生变化,而且除了ubi0:rootfs外的其他几个区域(devtmpfs、devtmpfs等)是有很大空间空闲的,所以我想请教,我应该如何操作来增大ubi0:rootfs对应的34060K大小呢?
谢谢!
kooking:
回复 weidong yao:
那个是修改分区的大小,这个应该是需要修改卷的大小
weidong yao:
回复 kooking:
我也觉得可能是要修改卷的大小,但是找了半天没有找到应该在哪里修改,kooking有这方面的经验吗?
kooking:
回复 weidong yao:
制作ubi文件系统的时候 binize 需要指定一个配置文件,配置文件中:
vol_id 卷序号
vol_size 卷大小
vol_name 卷名
weidong yao:
回复 kooking:
不好意思,kooking,我回复的略晚~感谢你提供的帮助
我在ipnc dm368的代码中全局搜索了ubinize、vol_id、vol_size等关键字都没有找到相关的结果,也没有发现具体的配置文件在哪里。。。根据你的经验,这个卷区的配置文件可能出现在什么地方,我觉得这个可能会较小我寻找的难度~ 谢谢~
weidong yao:
回复 kooking:
我刚刚终于找到这个配置文件了,万分感谢~