===U-Boot中通过SD卡更新固件=== 在单板机上手初步的文章中,我们介绍的卡刷的方法,实际上就是一种通过SD卡更新固件的方法,不过在卡刷中,我们使用的是一系列的U-Boot命令组成的脚本,我们也可以在U-Boot中通过输入一个一个的命令地来执行SD卡更新固件的相关功能。 * [[#cc6ul-lfw-sd|CC6UL 用uSD卡更新DEY]] * [[#cc6-lfw-sd|CC6/CC6+ 用uSD卡更新DEY]] * [[#cc6-afw-sd|CC6/CC6+ 用uSD卡更新Android]] **更新U-Boot**\\ 注意CC6UL出厂已经带了稳定版本的U-Boot,如果使用原厂的U-Boot,你并无需频繁更新。若要更新U-Boot,执行:\\ => update uboot mmc 0 fat .imx \\ 通常更新完U-Boot,你需要重新启动以便使用它。不同版本的U-Boot可能带来参数的增加或变化,建议重新启动后,执行一次\\ => env default -a \\ => saveenv \\ 这样可以使得模块恢复该版本的默认参数。 \\ **更新Linux系统**\\ =>update linux mmc 0 fat .boot.ubifs \\ => update rootfs mmc 0 fat .ubifs \\ => update recovery mmc 0 fat .recovery.ubifs \\ 默认地,flash中有一个update分区预留给将来从Linux系统中在更新固件使用,如果你刚从U-Boot更新完固件,可以格式化这个分区,如果你从未进行过在线更新,也可以不进行格式化操作。\\ 要格式化update分区,执行:\\ => setenv recovery_command wipe_update \\ => saveenv \\ => run recoverycmd \\ 或者略过上述三个命令,直接启动进入系统 \\ => boot \\ **更新U-Boot**\\ 注意CC6UL出厂已经带了稳定版本的U-Boot,如果使用原厂的U-Boot,你并无需频繁更新。若要更新U-Boot,执行:\\ update uboot mmc 1 fat .imx \\ 通常更新完U-Boot,你需要重新启动以便使用它。不同版本的U-Boot可能带来参数的增加或变化,建议重新启动后,执行一次\\ => env default -a \\ => saveenv \\ 这样可以使得模块恢复该版本的默认参数。 **更新Linux系统**\\ 对于CC6/CC6+,由于采用的是eMMC闪存,需要先对其进行分区配置,以便使用vfat和ext4分区格式。 => setenv mmcdev 0 \\ => run partition_mmc_linux \\ 然后就可以更新系统 \\ => update linux mmc 1 fat .vfat \\ => update rootfs mmc 1 fat .ext4 \\ => update recovery mmc 1 fat .vfat \\ 更新完毕后,由于CC6/CC6+也支持Android,所以要检查或重新设置一下启动命令,以便上电后自动启动Linux \\ => setenv bootcmd dboot linux mmc \\ => saveenv \\ 此外,flash中有一个update分区预留给将来从Linux系统中在更新固件使用,如果你刚从U-Boot更新完固件,可以格式化这个分区,如果你从未进行过在线更新,也可以不进行格式化操作。\\ 要格式化update分区,执行:\\ => setenv recovery_command wipe_update \\ => saveenv \\ => run recoverycmd \\ 或者略过上述三个命令,直接启动进入系统 \\ => boot \\ **更新U-Boot**\\ 注意CC6UL出厂已经带了稳定版本的U-Boot,如果使用原厂的U-Boot,你并无需频繁更新。若要更新U-Boot,执行:\\ update uboot mmc 1 fat .imx \\ 通常更新完U-Boot,你需要重新启动以便使用它。不同版本的U-Boot可能带来参数的增加或变化,建议重新启动后,执行一次\\ => env default -a \\ => saveenv \\ 这样可以使得模块恢复该版本的默认参数。 \\ **更新Android系统**\\ 对于CC6/CC6+,由于采用的是eMMC闪存,需要先对其进行分区配置。 \\ => setenv mmcdev 0 \\ => run partition_mmc_android \\ 然后就可以更新系统 \\ => update boot mmc 1 fat boot.img \\ => update system mmc 1 fat system.img \\ => update recovery mmc 1 fat recovery.img \\ 更新完毕后,还需要配置一下首次启动格式化cache和data \\ => bootargs_once="androidboot.cache=format androidboot.data=format" \\ 由于CC6/CC6+也支持Android,所以要检查或重新设置一下启动命令,以便上电后自动启动Android \\ => setenv bootcmd dboot Android mmc \\ => saveenv \\ 或直接启动进入系统 \\ => boot \\