当前位置: 技术问答>linux和unix
nand flash 的驱动,无法挂载,望高手指点一下
来源: 互联网 发布时间:2016-11-06
本文导语: 最近在2.6.28.9内核里添加了一个nand flash 驱动,编译进内核以后有分区显示出来,设备节点也有,但是当我用cp,dd,拷文件系统的时候,总是出现 nand_write: Attempt to write not page aligned data cp: write error: Invalid arg...
最近在2.6.28.9内核里添加了一个nand flash 驱动,编译进内核以后有分区显示出来,设备节点也有,但是当我用cp,dd,拷文件系统的时候,总是出现
nand_write: Attempt to write not page aligned data
cp: write error: Invalid argument
错误, nand flash 换成另一款的时候出现
Bad eraseblock 2036 at 0x01fd0000
Bad eraseblock 2037 at 0x01fd4000
Bad eraseblock 2038 at 0x01fd8000
Bad eraseblock 2039 at 0x01fdc000
Bad eraseblock 2040 at 0x01fe0000
Bad eraseblock 2041 at 0x01fe4000
Bad eraseblock 2042 at 0x01fe8000
Bad eraseblock 2043 at 0x01fec000
Bad eraseblock 2044 at 0x01ff0000
错误
现在用的这块板没有jtag, uboot不支持烧写nand flash, 我要怎么挂载文件系统?
nand_write: Attempt to write not page aligned data
cp: write error: Invalid argument
错误, nand flash 换成另一款的时候出现
Bad eraseblock 2036 at 0x01fd0000
Bad eraseblock 2037 at 0x01fd4000
Bad eraseblock 2038 at 0x01fd8000
Bad eraseblock 2039 at 0x01fdc000
Bad eraseblock 2040 at 0x01fe0000
Bad eraseblock 2041 at 0x01fe4000
Bad eraseblock 2042 at 0x01fe8000
Bad eraseblock 2043 at 0x01fec000
Bad eraseblock 2044 at 0x01ff0000
错误
现在用的这块板没有jtag, uboot不支持烧写nand flash, 我要怎么挂载文件系统?
|
nand_write: Attempt to write not page aligned data
==================================================
很明显的说明你读写 flash 需要页面对齐。
挂载上以后, 先用 mtd-util 里的工具 擦除 flash。
然后再mout成你想要的文件系统格式, 比如 yaffs 2, jfsss2 等。
==================================================
很明显的说明你读写 flash 需要页面对齐。
挂载上以后, 先用 mtd-util 里的工具 擦除 flash。
然后再mout成你想要的文件系统格式, 比如 yaffs 2, jfsss2 等。
|
上面的信息说明你的 nand flash 没有正常擦除, oob 信息错误,
所以导致内核认为flash 上的该区域为坏快。
如果你的 内核中网卡已经 ok 了的话, 建议使用 tftp + nfs 的方式启动先。
然后再来弄你的 flash.
另外,到限制为止,我还没弄明白,你的系统到底起来了没有。
如果没有起来,你怎么 cp , dd 的?
如果已经起来了, 那就是说你的根文件系统已经挂上了。。。那。。就和你的问题相矛盾了。
所以导致内核认为flash 上的该区域为坏快。
如果你的 内核中网卡已经 ok 了的话, 建议使用 tftp + nfs 的方式启动先。
然后再来弄你的 flash.
另外,到限制为止,我还没弄明白,你的系统到底起来了没有。
如果没有起来,你怎么 cp , dd 的?
如果已经起来了, 那就是说你的根文件系统已经挂上了。。。那。。就和你的问题相矛盾了。
|
cat /proc/filesystems
看看你的 kernel 是否已经支持 jffs2 了?
|
OK, 你再试试:
dd if=/mnt/flash/rootfs.jffs2 of=dev/mtdblock5
mount -t jffs2 /dev/mtdblock5 /tmp/nand
请确认 /tmp/nand 目录是存在的。
dd if=/mnt/flash/rootfs.jffs2 of=dev/mtdblock5
mount -t jffs2 /dev/mtdblock5 /tmp/nand
请确认 /tmp/nand 目录是存在的。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。