硬件环境:bf561 DSP ;8M flash ;32M SDRAM等
操作系统:uClinux
修改driver/mtd/maps/bf533-flash.c中分区
已经在核心里成功分区如下:
Creating 4 MTD partitions on "ASTENT":
0x00020000-0x000e0000 : "kernel image"
0x000e0000-0x001e0000 : "cramfs"
0x001e0000-0x00740000 : "data" 〉(第一个jffs2分区,43个连续块,128K每块)
0x00740000-0x00800000 : "info" 〉(第二个jffs2分区,6个连续块, 128K每块)
在核心下 cat /proc/mtd 也同样有正确:
dev: size erasesize name
mtd0: 000c0000 00020000 "kernel image"
mtd1: 00100000 00020000 "cramfs"
mtd2: 00560000 00020000 "data" 第一个jffs2分区
mtd3: 000c0000 00020000 "info" 第二个jffs2分区
mtd4: 14842000 00001000 "EXT2fs"
/dev下的mtdblock2 mtdblock3 都已创建;主设备号为31。
核心及cramfs文件系统成功加载:第一块挂载在/mnt/data目录下:可以成功mount (mount -t jffs2 /dev/mtdblock2 /mnt/data);
第二块挂载在/mnt/info目录下却不能成功,同样使用mount -t jffs2 /dev/mtdblock3 /mnt/info
如果将第二个分区挂载到/mnt/data目录下,却是可以。就是不能同时挂载。
开始以为是第二块分区太小所致,扩到的1M,仍是不行;
(mtd最少需要6块连续块,现在的第二块分区为6块,所以分区大小应该没有问题);
mount后的现象为:
没有任何打印信息输出,运行ps,看到 mount 这个进行程的状态 D: D代表不可中断的休眠状态。