IMX6UL如何添加新的分区

u-boot中是没有什么分区表(一般磁盘会在最前面哪里有一个分区表和引导加载程序)这样的东西的,所谓的分区我们构架好之后,是在代码里写死的,在include/configs/mx6ul_14x14_evk.h(xxx.h)中,可以像下面那样添加

#define MTDIDS_DEFAULT "nand0=gpmi-nand"
#define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:4m(u-boot),2m(u-boot-env),4m(logo),10m(kernel),2m(dtb),-(rootfs)"

这里就分好了四个分区,uboot启动如下打印显示:

Creating 6 MTD partitions on "gpmi-nand":
0x000000000000-0x000000400000 : "u-boot"
0x000000400000-0x000000600000 : "u-boot-env"
0x000000600000-0x000000a00000 : "logo"
0x000000a00000-0x000001400000 : "kernel"
0x000001400000-0x000001600000 : "dtb"
0x000001600000-0x000010000000 : "rootfs"

同时修改分区个数ubi.id=7:

                    "root=ubi0:rootfs rootfstype=ubifs ubi.mtd=7 ${mtdparts} rootwait rw

2018年07月03日
在IMX6UL平台上添加分区遇到了很多问题,现分析如下:
1.MTDPARTS_DEFAULT 此宏的分区个数要与ubi.id对应,注意mtd设备的分区号是从0开始的,所以这里的ubi.mtd = 5。

#define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:4m(u-boot),2m(u-boot-env),4m(logo),10m(kernel),2m(dtb),-(rootfs)"

2.还因为SD卡烧写镜像的分区不对,需要重新用以下命令重新指定分区

sudo dd if=/dev/zero of=/dev/sdc bs=512 seek=1536 count=16
sudo  dd if=u-boot.imx of=/dev/sdc bs=512 seek=2 conv=fsync

指定分区之后修改环境变量让其烧写启动,将autodownload_sd 默认的 0改为1

Environment size: 2585/2097148 bytes
TQIMX6UL => sete  
  setenv setexpr
TQIMX6UL => setenv autodownload_sd 1
TQIMX6UL => save
save - save file to a filesystem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值