yaffs2 不能写的问题原因及解决方法
(2011-12-08 15:04:36)
标签:
yaffsreadonlyfilesystem只读文件系统it |
分类: linux |
/ # mount -v
rootfs on / type
rootfs (rw)
/dev/root on / type yaffs
(ro,relatime)
proc on /proc type proc (rw,relatime)
tmpfs on /tmp type ramfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /dev type ramfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
我cao,这是什么原因导致的,yaffs filesystem 应该是rw的啊!在网上google下,有很多网友也遇到这个问题,说是root分区大小不对:应该是128K的整数倍。
于是我就去查看启动信息,发现在flash partition分区时就应经出现问题了,提示信息如下(仅摘抄一部分):
.......
dm9000 Ethernet Driver, V1.31
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=2, 20ns
Twrph0=3 30ns, Twrph1=2 20ns
NAND device: Manufacturer
ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB
3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1131 at 0x000008d60000
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "boot"
0x000000200000-0x000000400000 : "kernel"
0x000000400000-0x000003ff8000 : "filesystem"
mtd: partition "filesystem" doesn't end on an
erase block -- force read-only
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
end_request: I/O error, dev mtdblock2, sector 256
isofs_fill_super: bread failed, dev=mtdblock2, iso_blknum=64,
block=128
yaffs: dev is 32505858 name is "mtdblock2" ro
yaffs: passed flags ""
VFS: Mounted root (yaffs filesystem) readonly
on device 31:2.
Freeing init memory: 112K
......
static struct mtd_partition smdk_default_nand_part[] = {
};
更改后,可查看启动信息就不会出现上文中的红色部分了,此时yaffs为rw filesystem !
------------------------------------------------------------------------------------------------
时序配置如下啊:
137
140
141 static struct s3c2410_platform_nand smdk_nand_info = {
142
143
144
146
147 };
148
这时怎么回事啊?SOS!!!