平台:tq-imx6ul 内核版本:Linux-4.1.15
查看当前系统分区如图所示
可以得知:
uboot分区:/dev/mtd0
uboot环境变量分区:/dev/mtd1
logo分区:/dev/mtd2
内核分区:/dev/mtd3
设备树分区: /dev/mtd4
自定义内核分区:/dev/mtd5
自定义内核分区:/dev/mtd5
在tq-imx6ul中增加自定义分区的方法很简单,只在uboot源码里的mx6ul_14x14_evk.h文件修改宏定义MTDPARTS_DEFAULT
#define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:4m(u-boot),2m(u-boot-env),1m(logo),5m(kernel),1m(dtb),5m(kernel-custom),1m(dtb-custom),-(rootfs)"
实现内核升级只需要将新的内核文件更新到/dev/mtd3分区,将新的设备树文件更新到/dev/mtd4分区。对于双系统启动,则是把不同的内核和其对应的设备树放到自定义分区里,然后在uboot上实现引导不同的分区启动。这里的双系统并不是指一个Linux、一个windows啥的。
一、应用层在线升级内核与logo