[UBI]为AM335x uboot 移植UBI UBIFS功能

1.修改配置文件include/configs/devkit8600.h,添加

/* lc add for ubi */

#define CONFIG_CMD_UBI
#define CONFIG_CMD_UBIFS
#define CONFIG_CMD_MTDPARTS
#define CONFIG_MTD_DEVICE
#define CONFIG_MTD_PARTITIONS
#define CONFIG_RBTREE
#define CONFIG_LZO
    
#define MTDIDS_DEFAULT "nand0=nand0"
#define MTDPARTS_DEFAULT "mtdparts=nand0:0x80000(spl),0x200000(u-boot),0x500000(kernel),0x19000000(rootfs),-(reserved)"
#define MTD_ACTIVE_PART "nand0,3"
    

/* lc add for ubi end */


2.出现错误

build.c:50:2: error: #error Malloc area too small for UBI, increase CONFIG_SYS_MALLOC_LEN to >= 512k

修改include/configs/devkit8600.h

//#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (32 * 1024))
#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (512 * 1024))


3.出现错误

arm-none-linux-gnueabi-ld:/contec/liuchang/am335x/uboot_ok1/spl/u-boot-spl.lds:1: ignoring invalid character `#' in expression
arm-none-linux-gnueabi-ld:/contec/liuchang/am335x/uboot_ok1/spl/u-boot-spl.lds:1: syntax error

修改include/configs/devkit8600.h
//#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (32 * 1024)) 删除,

否则生成的spl/u-boot-spl.lds 包含这一行


4.在ubi write 时 出现错误

Cannot start volume update

因為CONFIG_SYS_MALLOC_LEN 设置的太小,修改

#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (512 * 1024))


#define CONFIG_SYS_MALLOC_LEN        (CONFIG_ENV_SIZE + (1024 * 1024))



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值