[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))



你可能感兴趣的:([UBI]为AM335x uboot 移植UBI UBIFS功能)