免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6679 | 回复: 2
打印 上一主题 下一主题

[BootLoader] 问一下UBI根文件系统的烧写问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-25 15:35 |只看该作者 |倒序浏览
板子是mini6410,已经将uboot和kernel通过NFS烧入nandflash了,可以启动内核。现在需要将ubi的根文件系统烧入flash,不知道应该如何操作,网上看的流程:
需要运行nand ecc sw,然后和内核烧写的方式一样。

1)烧写UBIFS镜像

OMAP3 DevKit8000 # mmcinit
    OMAP3 DevKit8000 # fatload mmc 0:1 81000000 ubi.img
    reading ubi.img
    12845056 bytes read
    OMAP3 DevKit8000 # nand unlock
    device 0 whole chip
    nand_unlock: start: 00000000, length: 268435456!
    NAND flash successfully unlocked
    OMAP3 DevKit8000 # nand ecc sw
    OMAP3 DevKit8000 # nand erase 680000 7980000
    NAND erase: device 0 offset 0x680000, size 0x7980000
    Erasing at 0x7fe0000 -- 100% complete.
    OK
    OMAP3 DevKit8000 # nand write.i 81000000 680000 $(filesize)
    NAND write: device 0 offset 0x680000, size 0xc40000
    Writing data at 0x12bf800 -- 100% complete.
    12845056 bytes written: OK

烧写过程和烧写内核镜像的过程一致,所以UBI文件系统应该不像yaffs文件系统那样用到了nand的OOB区域。



但uboot里面没发现有nand ecc sw这个命令。
不知道应该如何做才能写ubi根文件系统啊

论坛徽章:
2
水瓶座
日期:2013-09-04 15:09:57白羊座
日期:2014-04-17 16:48:13
2 [报告]
发表于 2011-08-25 16:20 |只看该作者
本帖最后由 l2y3n2 于 2011-08-25 16:21 编辑

好像不能这么烧写的吧,虽然ubifs文件系统信息不存放在OOB上,但是没有用到的块上面也是要有内容的(已经擦除过的次数啥的)
这样直接Flash全抹掉的话,之前的负载均衡的信息都没有了吧。

新版本的u-boot代码里面有nandwrite.ubifs之类的命令,可以参考下是怎么写的。

论坛徽章:
0
3 [报告]
发表于 2011-08-26 08:17 |只看该作者
新uboot支持了,可以试试

另外可以用mtd-utils工具来格式化成ubifs的,然后再把rootfs的内容拷贝进来,这个以前使用过,可行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP