一种基于最小系统备份实现的安全模式自动升级方法技术方案

技术编号:19691030 阅读:40 留言:0更新日期:2018-12-08 10:58
本发明专利技术涉及一种基于最小系统备份实现的安全模式自动升级方法,其通过autop方式升级,当升级失败时,设置环境变量bootmode使其等于safemode,从而进入安全模式升级,通过url方式对固件升级。安全模式启动后无需用户多余的操作即可实现重新自动升级到目标固件,优化用户体验。此外,本发明专利技术在固件升级完成后,进行最小系统的备份,只需备份基础系统和升级模块,少去业务层大量程序。

【技术实现步骤摘要】
一种基于最小系统备份实现的安全模式自动升级方法
本专利技术涉及系统升级
,具体涉及一种基于最小系统备份实现的安全模式自动升级方法。
技术介绍
目前,市面上许多电子产品会带有固件升级功能,由于升级时固件写入闪存是需要一定时间的,因此在写入过程中如出现拔电,跳闸等情况设备就很容易变砖,无法再自行启动。而现有技术中,某些产品带有恢复升级功能,如电脑在升级变砖情况下,大多采用光驱或者U盘来重新安装系统,即先让电脑进入升级引导程序,然后使用带有系统文件的光驱或者U盘手动进行系统恢复升级。再如iPhone手机升级时变砖也是使用类型方法,借助iTunes工具恢复升级。该类恢复升级方案与本文所说的安全模式自动升级方案的相同点是:升级一半断电后,都可以再重新升级到目标系统。还有一些用户会使用备份当前系统的功能,如一键ghost功能,当升级变砖后,可以通过该功能恢复到原来备份的系统。对于通过引导程序进行恢复升级的产品,当升级变砖情况下,还需要借助磁盘工具再手动升级,操作繁琐,用户体验不佳。对于使用备份功能进行恢复升级的产品,不仅所需备份空间很大,而且事先也需要手动进行系统备份,操作上也比较繁琐。
技术实现思路
本专利技术的目的在于提供一种基于最小系统备份实现的安全模式自动升级方法,其在固件升级失败后,能够自动完成固件升级。为实现上述目的,本专利技术采用的技术方案是:一种基于最小系统备份实现的安全模式自动升级方法,其具体如下:通过autop方式对固件进行升级时,设置环境变量url,用于保存url路径;启动升级后,若升级成功,则设置环境变量updatestate为0;若升级失败,设置环境变量updatestate为1;升级结束后,系统重启到uboot时,判断环境变量updatestate是否为1,如果不为1,则系统正常启动;如果为1,则说明升级失败,设置环境变量bootmode等于safemode,并从分区中读取bin和rfs到内存中引导系统,进入安全模式升级;进入安全模式升级后,从环境变量中读取bootmode的值,如果bootmode的值等于safemode,则通过url方式升级,即先从环境变量中读取url的值,然后通过url路径下载固件进行升级;升级成功后系统进行自动备份最小系统的动作,若在备份最小系统时断电,系统记住相应状态,下一次再上电的时候uboot引导程序根据该状态再重新备份一遍最小系统。采用上述方案后,本专利技术具有以下有益效果:1、本专利技术在固件升级失败后能够自动完成固件升级,即本专利技术在升级失败后进入安全模式,安全模式启动后无需用户多余的操作即可实现重新自动升级到固件,优化用户体验。2、本专利技术在升级完成后都自动进行最小系统备份,只需备份基础系统和升级模块,少去业务层大量程序,从而减少备份的占用空间。附图说明图1为本专利技术autop升级流程图;图2为本专利技术安全模式升级流程图。具体实施方式本专利技术揭示了一种基于最小系统备份实现的安全模式自动升级方法,当用户开始通过autop(autoprovision,自动配置)升级时,升级配置和升级标志将会被写入闪存中,若升级固件过程中断电导致升级失败,则升级标志将不会被清除。当下一次启动设备时,系统引导程序检测到升级标志被置,将自动去引导所备份的最小系统,即进入安全模式完成固件的自动升级,其中,最小系统包括操作系统、文件系统和最小升级模块。本专利技术的基于最小系统备份实现的安全模式自动升级方法,其具体如下:如图1所示,用户通过autop方式进行固件升级的时候,会设置环境变量url,用于保存url路径。启动升级后,如果升级成功,则设置环境变量updatestate为0;升级失败的时候,会设置环境变量updatestate为1。升级结束后,系统重启到uboot的时候,会判断环境变量updatestate是否为1,如果不为1,则系统正常启动。如果为1,则说明升级失败,设置环境变量bootmode等于safemode,并从分区中读取bin和rfs到内存中引导系统,进入安全模式升级。如图2所示,进入安全模式升级后,从环境变量中读取bootmode的值,如果bootmode的值等于safemode,则通过url方式升级,即先从环境变量中读取url的值,然后通过url路径下载固件进行升级。升级成功后均会做自动备份最小系统的动作,即复制闪存分区中已经升级完的数据到指定的另一个闪存分区(该分区即专门用于备份的分区),备份内容包括操作系统,文件系统和最小升级模块(不包括所有业务层的模块),以便下次升级变砖又可以进入安全模式。而如果在备份最小系统时断电,系统也会记住相应状态,下一次再上电的时候uboot引导程序会根据该状态再重新备份一遍最小系统,保证可持续性。如图2所示,当bootmode不等于safemode的情况下,采用的是其他升级方式,如tftp网络恢复升级和USB恢复升级功能。这两种升级方式也可以恢复已经升级失败的设备(已经升级失败的设备,通过启动时长按快捷键可以进入这两种升级方式),但是这两种方式属于手动恢复。当bootmode等于tftpmode时,由于升级失败只是系统损坏,而bootloader引导程序并未损坏,所以可在bootloader引导程序中通过tftp的网络通信方式下载目标升级固件进行恢复升级。当bootmode等于usbmode时,由于升级失败只是系统损坏,而bootloader引导程序并未损坏,所以可在bootloader引导程序中通过usb的通信方式从U盘中下载目标升级固件进行恢复升级。因本专利技术在升级失败时,就将环境变量bootmode的值设置为safemode,所以在采用本专利技术进行固件升级而升级失败后,进行恢复升级时,环境变量bootmode的值一定会等于safemode,也就是说,进行回复升级时,一定会进入安全模式升级,完成固件的自动升级。本专利技术关键在于,本专利技术通过autop方式升级,当升级失败时,设置环境变量bootmode使其等于safemode,从而进入安全模式升级,通过url方式对固件升级。安全模式启动后无需用户多余的操作即可实现重新自动升级到目标固件,优化用户体验。此外,本专利技术在固件升级完成后,进行最小系统的备份,只需备份基础系统和升级模块,少去业务层大量程序。以上所述,仅是本专利技术实施例而已,并非对本专利技术的技术范围作任何限制,故凡是依据本专利技术的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本专利技术技术方案的范围内。本文档来自技高网...

【技术保护点】
1.一种基于最小系统备份实现的安全模式自动升级方法,其特征在于:具体如下:通过autop方式对固件进行升级时,设置环境变量url,用于保存url路径;启动升级后,若升级成功,则设置环境变量updatestate为0;若升级失败,设置环境变量updatestate为1;升级结束后,系统重启到uboot时,判断环境变量updatestate是否为1,如果不为1,则系统正常启动;如果为1,则说明升级失败,设置环境变量bootmode等于safemode,并从分区中读取bin和rfs到内存中引导系统,进入安全模式升级;进入安全模式升级后,从环境变量中读取bootmode的值,如果bootmode的值等于safemode,则通过url方式升级,即先从环境变量中读取url的值,然后通过url路径下载固件进行升级;升级成功后系统进行自动备份最小系统的动作,若在备份最小系统时断电,系统记住相应状态,下一次再上电的时候uboot引导程序根据该状态再重新备份一遍最小系统。

【技术特征摘要】
1.一种基于最小系统备份实现的安全模式自动升级方法,其特征在于:具体如下:通过autop方式对固件进行升级时,设置环境变量url,用于保存url路径;启动升级后,若升级成功,则设置环境变量updatestate为0;若升级失败,设置环境变量updatestate为1;升级结束后,系统重启到uboot时,判断环境变量updatestate是否为1,如果不为1,则系统正常启动;如果为1,则说明升级失败,设置环境变量bootmode等...

【专利技术属性】
技术研发人员:周继伟郑光暖江虎
申请(专利权)人:厦门亿联网络技术股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1