【转】增加u-boot对ubi的支持

原文地址: http://blog.csdn.net/yuanlulu/archive/2010/08/31/5853676.aspx

 

      最近需要让u-boot支持ubi,方便下载ubi根文件系统。


      由于参照网上的文章http://blog.chinaunix.net/u3/96428/showart_2275685.html做还是有一些错误,所以总结一下自己的移植。

      我使用的是smartarm3250开发板,首先移植开发板提供的u-boot-1.3.3到u-boot-201006。因为旧版本的u-boot不支持ubifs,当然是先移植u-boot了。

      然后  cd u-boot-2010.06/
      修改  include/configs/smartarm3250.h
      (1)增加以下宏定义:

      (2)修改传给Linux内核的参数

      (3)修改malloc空间上限
  

      (4)保证没有定义CONFIG_MTD_NAND_VERIFY_WRITE
      如果定义了这个宏,请注释掉,否则会有5号错误( I/O error )。
      在http://www.linux-mtd.infradead.org/faq/ubi.html#L_subpage_verify_fail有对这个问题的专门描述:
      I get "ubi_io_write: error -5 while writing 512 bytes to PEB 5:512"
      If you have a 2048 bytes per NAND page device, and have CONFIG_MTD_NAND_VERIFY_WRITE enabled in your kernel, you will need to turn it off. The code does not currently (as of 2.6.26) perform verification of sub-page writes correctly. As UBI is one of the few users of sub-page writes, not much else seems to be affected by this bug.
      虽然是说Linux内核配置,可是u-boot中同样有CONFIG_MTD_NAND_VERIFY_WRITE ,在smartarm3250.h中将这个宏注释掉,问题解决。看来是内核的问题,既然u-boot很大程度上使用了Linux内核的驱动,应该是ubi驱动的问题。


      好了,我对u-boot的修改就这么多,而且所有的修改都在include/configs/smartarm3250.h中。

      下面还需要修改内核配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值