免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 北极狐BILL
打印 上一主题 下一主题

2.6.14内核上YAFFS的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-06 08:58 |显示全部楼层 |倒序浏览
我的分区:2.6.14
Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00400000 : "kernel"
0x00400000-0x02c00000 : "root"
0x02c00000-0x04000000 : "user"

所以,我是这样烧写的
2410>nand erase 0x2c00000
2410>tftp 0x30000000 my_rootfs.yaffs
2410>nand write.yaffs 0x30000000 0x2c00000 $(filesize)
2410>set bootargs 'console=ttySAC0 root=/dev/mtdblock3 rootfstype=yaffs'
2410>boot

出现的问题是
VFS: Cannot open root device "mtdblock3" or unknown-block(31,3)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)


我的文件系统没有问题,这个yaffs文件系统其他内核里面跑过(2.6.22)。而后是我的bootargs和烧写,我现在想想还是没有问题。
如果不是文件系统和bootargs和烧写的问题,那估计就是内核了,但是内核配置,我是打了那个yaffs的补丁,而且把内核配置中关于yaffs2的所以选项几乎都选了,只剩下Use older-style on-NAND data format with pageStatus byte没有选.

不知道各位大虾可以指点一下不?谢谢.

论坛徽章:
0
2 [报告]
发表于 2008-08-06 09:59 |显示全部楼层
但是我用JFFS2文件系统
烧写到
Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00400000 : "kernel"
0x00400000-0x02c00000 : "root"
0x02c00000-0x04000000 : "user"

烧写
2410>nand erase 0x400000
2410>tftp 0x30000000 my_rootfs.yaffs
2410>nand write.yaffs 0x30000000 0x400000 $(filesize)

然后
2410>set bootargs 'console=ttySAC0 root=/dev/mtdblock2 rootfstype=jffs2'
2410>boot

这样倒是可以,但是YAFFS就是不行....

[ 本帖最后由 北极狐BILL 于 2008-8-6 10:05 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-08-06 10:08 |显示全部楼层
原帖由 sep 于 2008-8-6 09:36 发表
set bootargs 'console=ttySAC0 root=/dev/mtdblock2 rootfstype=yaffs'

原帖由 jn200002 于 2008-8-6 10:03 发表
倒...第0块第1块第2块=root ?




对不起,我1楼那个第一分区红色部分给你误导了...

我的分区:2.6.14
Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00400000 : "kernel"
0x00400000-0x02c00000 : "root"
0x02c00000-0x04000000 : "user"

所以,我是这样烧写的
2410>nand erase 0x2c00000
2410>tftp 0x30000000 my_rootfs.yaffs
2410>nand write.yaffs 0x30000000 0x2c00000 $(filesize)

然后
2410>set bootargs 'console=ttySAC0 root=/dev/mtdblock3 rootfstype=yaffs'
2410>boot

出现的问题是
VFS: Cannot open root device "mtdblock3" or unknown-block(31,3)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)

[ 本帖最后由 北极狐BILL 于 2008-8-6 10:10 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-08-06 11:02 |显示全部楼层
原帖由 sep 于 2008-8-6 10:14 发表

我没有用过yaffs文件系统,不知道它有没有特殊的要求
话说回来,jffs2文件系统不是比yaffs更优秀吗


但是,现在遇到问题,想解决
过去总是逃避问题,现在想执着点,嘿嘿

谢谢你的帮忙,我再想想办法。

论坛徽章:
0
5 [报告]
发表于 2008-08-06 11:07 |显示全部楼层
原帖由 jn200002 于 2008-8-6 10:22 发表
我到是用yaffs 只是配合做可读写的分区,并不是根


同样是用yaffs做root,我用另外一个内核(2.6.22,这个不是我编的)挂YAFFS成功,但是我现在用2.6.14的内核挂,却出现了问题,想解决。

不知道大家还有什么办法,我知道这里高手多

[ 本帖最后由 北极狐BILL 于 2008-8-6 11:08 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-08-06 11:14 |显示全部楼层
原帖由 sep 于 2008-8-6 11:08 发表

噢,对了,你在给nandflash分区的时候,不是有一个part flag参数吗。你试下从这个方向入手


分区时候的参数?

我用的是uboot,我的做法,一般只是nand擦除,然后烧写(我的uboot放在nor上)。然后添加内核的static struct mtd_partition smdk_default_nand_part[] = {};相关信息

S3C2410的板子

然后通过修改bootargs和bootcmd等来修改参数。

恕我无知,你说的part flag是什么

论坛徽章:
0
7 [报告]
发表于 2008-08-06 16:33 |显示全部楼层
原帖由 jojolin 于 2008-8-6 11:33 发表
是不是现在还没有生成mtdblock的驱动节点呢,在dev下找不到~ 你上网找下udev 的资料 ,高版本的2.6内核用的是udev,没有自己创建驱动设备节点,你得自己创建,要么就用devfs


我还发现一个问题

在2.6.22内核下(此内核挂载yaffs文件系统没有问题),可以mount任何类型的文件系统
# mount -t yaffs /dev/mtdblock4 /mnt/yaffs
# mount -t jffs2 /dev/mtdblock3 /mnt/jffs2

但是我的2.6.14(这个挂yaffs老错),却不行
# mount -t jffs2 /dev/mtdblock3 /mnt/jffs2/
# mount -t yaffs /dev/mtdblock4 /mnt/yaffs/
mount: mounting /dev/mtdblock4 on /mnt/yaffs/ failed: No such device

也就是说没有找到/dev/mtdblock4 !!!!!但是我结合TAB键,却给出了/dev/mtdblock4 的提示

我的分区信息
0x00000000-0x00100000 : "vivi--nand"
0x00100000-0x00500000 : "kernel---2.6.14"
0x00500000-0x00900000 : "kernel---2.6.22"
0x00900000-0x01900000 : "jffs2"
0x01900000-0x02900000 : "yaffs"
0x02900000-0x04000000 : "yaffs2"

但我可以找到/dev/mtdblock3,因为可以从jffs2中启动,所以我把yaffs移动到了0x00900000-0x01900000 ,也就是我把jffs2的内容都擦除了,然后烧写上yaffs的内容,结果连/dev/mtdblock3都找不到了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP