一、什么是ota
ota又名空中下载技术,即通过网络获新的软件版本来完成固件的更新替换,最终做到系统自己更新自己。这一过程分为两个大的步骤:
第一步:从网络获取固件;这种方法有很多,如果是本地局域网的话,可以通过tftp,scp完成;如果是远程服务器的话,可以通过http服务实现。
第二步:更新替换固件;在linux系统中,把获取到的新的固件替换老的固件,要完成此步,不得不讲一下linux的磁盘分区。
二、linux系统分区
linux的系统的存储载体主要有mmc和flash两大类,我们以mmc为例,emm又分为板载的emmc和外接的sd卡,这两者区别不大。笔者以我自己做的系统为例,进行讲解。
mmcblk0是笔者的磁盘设备,为一张sd卡,下设4个分区;
uboot:没有对uboot单独设置一个分区,而是在对磁盘划分时在磁盘从开始的位置起空出了10M的空间,用于存储uboot和环境变量,大小10M就足够了;
mmcblk0p1、mmcblk0p2:这两个分区都是用来存储系统的kernel和设备树,笔者做的是双备份分区,如当前跑的系统是从kernel_a获取的,那我本次升级替换kernel_b分区中的内容,然后修改系统从