基于U盘的系统升级方法及装置、可读存储介质、终端与流程

文档序号:37980223发布日期:2024-05-13 12:38阅读:10来源:国知局
基于U盘的系统升级方法及装置、可读存储介质、终端与流程

本发明涉及系统升级,尤其涉及一种基于u盘的系统升级方法及装置、可读存储介质、终端。


背景技术:

1、对于搭载了安卓系统的设备(例如是电视机),通常采用的升级方式包括线刷升级、ota(over-the-airtechnology,空中下载技术)以及u盘升级。其中,线刷是利用线刷工具,通过数据线连接安卓设备,给设备刷入线刷固件的一种升级方式。这种升级方式的操作复杂,工作效率较低。相较之下,ota升级方式会相对便捷,不需要使用外部升级工具。但采用ota升级方式仍需要先进入系统,再通过专业人员手动操作发起升级,升级的过程耗时长,升级速度较慢。另外ota升级方式需要预先将升级文件下载到设备中,当升级文件过大时,容易因设备内存不足导致无法升级。

2、以电视机产品为例,由于电视机产品形态往往较大,在产线生产或是上门维修如果使用刷机工具线刷升级方式,操作繁杂会降低工作效率。而电视机等产品通常有usb(universal serial bus,通用串行总线)接口,使用u盘升级可以有效克服上述线刷和ota升级存在的痛点。

3、但是,实践中,现有的u盘升级方案仍存在缺陷,例如耗时长影响升级效率,还有较大几率会造成被升级设备死机、变砖,影响用户使用体验。


技术实现思路

1、本发明解决的技术问题是提供一种改进的u盘升级方案,以至少解决现有技术中的部分问题。

2、因此,根据本技术的第一方面,本发明实施例提供一种基于u盘的系统升级方法,在运行引导加载程序阶段,响应于检测到有u盘连接,在第一槽位读取所述u盘中的升级文件,所述第一槽位处于激活状态;判断所述升级文件中的分区信息和所述系统的分区信息是否一致,所述第二槽位处于非激活状态;响应于判断结果表明所述升级文件中的分区信息和所述系统的分区信息不一致,基于所述引导加载程序按照所述升级文件中的分区信息对所述系统进行重分区操作;将所述升级文件写入重分区后的所述第二槽位的对应分区;将所述第二槽位的状态切换为激活状态,其中,处于激活状态的槽位为所述系统启动时的加载槽位。

3、可选的,所述升级文件包括多个目标分区的分区信息,所述判断所述升级文件中的分区信息和所述系统的分区信息是否一致包括:遍历所述升级文件中的每一所述目标分区,判断所述目标分区的分区信息与所述系统的分区信息是否一致;其中,所述目标分区指拟用所述升级文件进行升级的分区。

4、可选的,所述分区信息至少包括:目标分区的数量以及各所述目标分区的名称、大小以及偏移。

5、可选的,所述升级文件包括文件头,所述分区信息记载于所述文件头。

6、可选的,所述文件头还包括编译时间信息,所述在第一槽位读取所述u盘中的升级文件包括:在所述第一槽位读取所述升级文件的文件头,以获得所述编译时间信息;比对所述升级文件的所述编译时间信息与历史编译时间信息;响应于比对结果表明所述升级文件的所述编译时间信息与历史编译时间信息不一致,读取所述升级文件中的镜像数据;其中,所述历史编译时间信息包括历史上进行系统升级时使用的升级文件的编译时间信息。

7、可选的,所述历史编译时间信息响应于所述升级文件校验未通过或系统升级成功被记录。

8、可选的,所述文件头还包括:完整性信息、编译版本信息和编译路径信息。

9、可选的,在所述将所述升级文件写入第二槽位的对应分区之前,所述方法还包括:在可信操作环境内校验所述升级文件的合法性。

10、可选的,在所述将所述升级文件写入第二槽位的对应分区之前,所述方法还包括:对所述升级文件进行循环冗余校验,以校验所述升级文件的完整性。

11、可选的,所述升级文件采用sparse格式压缩得到。

12、可选的,所述方法还包括:在屏幕上实时显示升级进度信息,其中,所述升级进度信息至少选自以下任一项:升级进度条、升级成功提示、升级失败提示,所述屏幕与搭载所述系统的设备相关联。

13、可选的,所述升级进度条根据所述升级文件中写入成功的文件大小占所述升级文件的整体大小的比例确定。

14、根据本技术的第二方面,本发明实施例还提供一种基于u盘的系统升级装置,所述系统包括第一槽位和第二槽位,包括:读取模块,在运行引导加载程序阶段,响应于检测到有u盘连接,在第一槽位读取所述u盘中的升级文件,所述第一槽位处于激活状态;比对模块,判断所述升级文件中的分区信息和所述系统的分区信息是否一致,所述第二槽位处于非激活状态;重分区模块,响应于判断结果表明所述升级文件中的分区信息和所述系统的分区信息不一致,基于所述引导加载程序按照所述升级文件中的分区信息对所述系统进行重分区操作;写入模块,将所述升级文件写入重分区后的所述第二槽位的对应分区;启动模块,将所述第二槽位的状态切换为激活状态,其中,处于激活状态的所述槽位为所述系统启动时的加载槽位。

15、根据本技术的第三方面,本发明实施例还提供一种可读存储介质,所述可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。

16、根据本技术的第四方面,本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。

17、与现有技术相比,本发明实施例的技术方案具有以下有益效果:

18、本发明实施例提供一种基于u盘的系统升级方法,所述系统包括第一槽位和第二槽位,所述方法包括:在运行引导加载程序阶段,响应于检测到有u盘连接,在第一槽位读取所述u盘中的升级文件,所述第一槽位处于激活状态;判断所述升级文件中的分区信息和所述系统的分区信息是否一致,所述第二槽位处于非激活状态;响应于判断结果表明所述升级文件中的分区信息和所述系统的分区信息不一致,基于所述引导加载程序按照所述升级文件中的分区信息对所述系统进行重分区操作;将所述升级文件写入重分区后的所述第二槽位的对应分区;将所述第二槽位的状态切换为激活状态,其中,处于激活状态的所述槽位为所述系统启动时的加载槽位。

19、采用本技术的技术方案,通过在引导加载程序阶段直接读取并校验u盘中的升级文件后进行系统升级,而不需要用户或操作人员手动升级,也不必等到成功进入系统后再进入特定的升级功能,例如recovery(恢复/重置)模式。由此,极大缩短了系统升级的耗时。同时也避免了因为系统故障无法进入recovery,导致无法进行升级。

20、进一步,本技术方案在引导加载程序阶段还加入了重分区的步骤,也即比对升级文件中的目标分区的分区信息和系统中实际分区的分区信息,在二者不一致时,直接对系统进行重分区,而不需要像现有技术中通过线刷的方式对系统进行重分区后才能进行u盘升级,有利于提高系统升级的效率。

21、进一步,本技术方案能够充分利用双槽位系统(如ab系统)的特点,将升级文件写入处于非激活状态下的槽位,由此能够避免升级过程中发生意外中断等情况导致设备变砖。

22、进一步,升级文件的头部字段包括目标分区的分区信息,当目标分区的分区信息与实际分区的分区信息不一致,按照目标分区的分区信息对系统进行重分区。由此,能够避免升级文件的写入错误,使系统升级的成功率进一步提高。

23、进一步,通过记录升级文件的编译时间,在每次升级时均先比对编译时间和历史上读取过的升级文件的编译时间是否一致,若一致则不再执行系统升级,直接启动系统。由此,也避免了升级文件被重复写入,浪费时间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1