系统固件升级包的生成方法及装置的制造方法

文档序号:9750594阅读:1279来源:国知局
系统固件升级包的生成方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种系统固件升级包的生成方法及装置。
【背景技术】
[0002]随着终端制造商发布新终端的节奏越来越快,上市终端的软件版本难免存在一些漏洞或者亟待提高用户体验的部分,甚至会有一些致命故障亟待修复。一般可以采用无线固件升级(Firmware Update Over the Air,简称FOTA)方法对终端设备的软件进行升级。
[0003]目前,固件升级通常分为两种:一种是工厂刷机包,主要用于生产及售后;另外一种是无线下载(Over the Air,简称OTA)升级包,主要用于用户自行升级。二者的升级机制完全不同,前者是基于设备的升级,即在开机引导程序中通过二进制读写将镜像文件写到相应的块设备中;而后者是基于文件系统的升级,是在恢复模式(recovery)下对文件进行升级,主要有两种方式,OTA完整升级包升级和OTA差分升级包升级,其中,OTA完整升级包升级是将完整的新版本数据通过文件拷贝覆盖式的升级,而OTA差分升级包升级则是将两个新旧版本固件之间的差异数据通过打补丁的方式进行升级。
[0004]现有的OTA升级包是根据OTA中间包制作相应的OTA升级包。由于OTA升级包依赖于中间包,随着系统版本的升级,OTA升级包越来越大,保存相应的OTA中间包,会占用服务器大量资源,而且,由于一些主客观原因(如硬盘损坏、系统中毒、人为误操作等)可能会导致OTA中间包丢失或者破坏,此时终端就无法通过OTA升级包升级,用户将无法通过OTA升级包升级到新的固件版本。

【发明内容】

[0005]本发明提供一种系统固件升级包的生成方法及装置,以克服现有技术中保存中间包会占用服务器大量资源,而且OTA中间包丢失或者破坏时,此时终端就无法通过OTA升级包升级的问题。
[0006]第一方面,本发明提供一种系统固件升级包的生成方法,包括:
[0007]获取目标升级文件系统中的源文件;所述源文件包括:系统镜像文件、恢复模式下的镜像文件、开机引导模式boot下的镜像文件和协议文件;
[0008]分别获取与所述目标升级文件系统中的源文件对应的目标文件;
[0009]获取所述目标升级文件系统的配置文件;
[0010]将所述目标文件和所述配置文件打包生成所述目标升级文件系统对应的无线下载OTA中间包,并根据所述OTA中间包生成所述目标升级文件系统对应的OTA升级包。
[0011]第二方面,本发明提供一种系统固件升级包的生成装置,包括:
[0012]第一获取模块,用于获取目标升级文件系统中的源文件;所述源文件包括:系统镜像文件、恢复模式下的镜像文件、开机引导模式boot下的镜像文件和协议文件;
[0013]第二获取模块,用于分别获取与所述目标升级文件系统中的源文件对应的目标文件;
[0014]第三获取模块,用于获取所述目标升级文件系统的配置文件;
[0015]处理模块,用于将所述目标文件和所述配置文件打包生成所述目标升级文件系统对应的无线下载OTA中间包,并根据所述OTA中间包生成所述目标升级文件系统对应的OTA升级包。
[0016]本发明系统固件升级包的生成方法及装置,通过获取目标升级文件系统中的源文件;所述源文件包括:系统镜像文件、恢复模式下的镜像文件、开机引导模式boot下的镜像文件和协议文件;分别获取与所述目标升级文件系统中的源文件对应的目标文件;将所述目标文件和配置文件打包生成所述目标升级文件系统对应的OTA中间包,并根据所述OTA中间包生成所述目标升级文件系统对应的OTA升级包,相比现有技术而言,无需保存中间包,可以直接从工厂刷机包或终端的相关物理分区中获取目标升级文件系统的源文件,不会占用服务器大量资源,而且OTA中间包丢失或者破坏时,也可以根据源文件获取目标文件,并根据目标文件生成OTA中间包,最终根据OTA中间包生成OTA升级包,避免了 OTA中间包丢失或者破坏时,终端就无法通过OTA升级包升级,用户将无法通过OTA升级包升级到新的固件版本的问题。
【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明系统固件升级包的生成方法一实施例的流程示意图;
[0019]图2A为本发明系统固件升级包的生成装置一实施例的结构示意图;
[0020]图2B为本发明系统固件升级包的生成装置另一实施例的结构示意图
[0021]图3为本发明系统固件升级包的生成设备一实施例的结构示意图。
【具体实施方式】
[0022]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]本发明实施例的系统固件升级包的生成方法可以应用于对终端的系统固件进行升级处理,具体实施例中以对终端的安卓系统为例进行说明。
[0024]下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0025]图1为本发明系统固件升级包的生成方法一实施例的流程示意图。如图1所示,本实施例的方法,包括:
[0026]步骤101、获取目标升级文件系统中的源文件;源文件包括:系统镜像文件、恢复模式下的镜像文件、开机引导模式boot下的镜像文件和协议文件;
[0027]步骤102、分别获取与目标升级文件系统中的源文件对应的目标文件;
[0028]步骤103、获取目标升级文件系统的配置文件;
[0029]步骤104、将目标文件和配置文件打包生成目标升级文件系统对应的OTA中间包,并根据OTA中间包生成目标升级文件系统对应的OTA升级包。
[0030]在实际应用中,OTA升级包依赖于中间包,但由于一些主客观原因(如硬盘损坏、系统中毒、人为误操作等)导致OTA中间包丢失或者破坏,此时终端就无法通过OTA升级包升级,用户将无法通过OTA升级到新的固件版本,另外,随着终端的系统版本的升级,OTA升级包越来越大,占用服务器大量资源,如果每发布一个版本都要保存相应的OTA中间包,对服务器资源要求非常高,而且由于中间包的拷贝需要借助文件传输协议(File TransferProtocol,简称FTP),由于拷贝本身及FTP的稳定性问题,可能在这过程中造成数据丢失损毁等情况,而中间包不同于工厂刷机包,没有办法测试其功能性、完整性,另外,开发人员也可能因为自身原因存在误删除或者忘记备份OTA中间包的问题,一旦出现问题,后期基于此中间包制作OTA升级包时就会存在问题。这样就要求开发人员在备份OTA中间包的时,务必保证其完整性,这对服务器资源和人力资源是一种巨大的浪费。
[0031]而在本发明实施例中,可以无需保存中间包,具体来说,在制作OTA升级包时,获取目标升级文件系统中的源文件;源文件包括:系统镜像文件、恢复模式下的镜像文件、开机引导模式boot下的镜像文件和协议文件。
[0032]然后分别确定与目标升级文件系统中的源文件对应的目标文件;如源文件中的系统镜像文件对应的系统文件、源文件中的恢复模式下的镜像文件对应的恢复模式下的虚拟硬盘及内核文件、源文件中的boot下的镜像文件对应的boot下的虚拟硬盘及内核文件,源文件中的协议文件对应的目标文件。
[0033]将目标文件和配置文件打包生成目标升级文件系统对应的无线下载OTA中间包,并根据OTA中间包生成目标升级文件系统对应的OTA升级包。
[0034]需要说明的是,本发明实施例中的OTA升级包包括OTA完整升级包和OTA差分升级包。OTA升级包一般通过服务器上供终端下载、运行以完成对终端的文件系统的升级的。终端在出厂时已经自带了一定的文件系统,此时的文件系统为待升级文件系统,升级时是将该待升级文件系统升级为目标升级文件系统。
[0035]其中,目标升级文件系统中的目标文件,如包括文件夹SYSTEM、RE⑶VERY、RA
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1