系统固件升级包下载包的生成方法及装置的制造方法
[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