根文件系统的升级方法、电子设备及计算机可读存储介质与流程

文档序号:24733023发布日期:2021-04-20 17:02阅读:159来源:国知局
根文件系统的升级方法、电子设备及计算机可读存储介质与流程

1.本申请涉及系统升级技术领域,特别是涉及一种根文件系统的升级方法、电子设备以及计算机可读存储介质。


背景技术:

2.随着互联网快速发展,电子设备也得到了迅猛的发展。智能化的电子设备已广泛地应用于各行各业,成为人们生活、工作中不可或缺的产品。
3.随着用户需求的不断提高和变更、系统软件的不断优化、系统功能的不断增加,电子设备的系统需要进行修正和更新。为解决电子设备出现的问题、完善系统功能和满足用户需求,电子设备厂商会发布一系列针对此电子设备的升级版本。
4.相关技术中,电子设备升级的方式是利用升级程序在线下载升级后的根文件系统,并根据升级后的根文件系统进行升级的,但在原根文件系统不完整的情况下,升级程序可能无法正常被拉起或者无法进入根文件系统而导致电子设备“变砖”,使得用户无法正常升级根文件系统或者“救砖”。


技术实现要素:

5.本申请提供一种根文件系统的升级方法,可以在电子设备的根文件系统不完整的情况下,对根文件系统进行升级。
6.为解决所述技术问题,本申请提供一种根文件系统的升级方法,包括:执行内核初始化;在所述内核初始化完成后,从外置设备中获取根文件系统升级包;将所述根文件系统升级包写入到预设分区内,完成升级。
7.为实现上述目的,本申请还提供了一种电子设备,包括:存储器、总线和处理器;其中,所述存储器用于存储计算机程序;所述处理器用于通过所述总线耦接所述外置设备,以用于获取根文件系统升级包;所述处理器用于执行所述计算机程序。
8.为实现上述目的,本申请还提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述的根文件系统的升级方法。
9.本申请通过在内核初始化完成后,从外置设备中获取根文件系统升级包,能够降低电子设备在线升级根文件系统时升级程序不能被正常拉起所带来的风险,以及降低在线升级过程中网络异常的影响。并且,基于内核对根文件系统进行升级,能够降低电子设备系统高负载导致升级失败,从而提高升级成功率。
附图说明
10.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图,其中:
11.图1是本申请提供的根文件系统的升级方法第一实施例的流程示意图;
12.图2是本申请提供的从外置设备中获取根文件系统升级包一实施方式的流程示意图;
13.图3是本申请提供的将根文件系统升级包写入到预设分区内一实施方式的流程示意图;
14.图4是本申请提供的根文件系统的升级方法第二实施例的流程示意图;
15.图5是本申请公开的一种电子设备的结构图;
16.图6是本申请公开的一种计算机可读存储介质的结构图。
具体实施方式
17.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
18.请参阅图1,图1是本申请提供的根文件系统的升级方法第一实施例的流程示意图。具体而言,本实施例可以包括如下步骤:
19.步骤s11:执行内核初始化。
20.本步骤的执行主体为电子设备中的处理器。电子设备上电后,处理器获取内核初始化指令,响应于内核初始化指令运行引导程序,引导程序加载内核,以进行内核初始化。
21.其中,电子设备可以为机顶盒、个人电脑、智能手机、平板电脑、掌上电脑或便携计算机等。
22.步骤s12:在内核初始化完成后,从外置设备中获取根文件系统升级包。
23.其中,外置设备可以为外部存储设备,例如u盘、插接式硬盘、智能存储卡、安全数字卡,闪存卡等。根文件系统升级包可以为ghost镜像文件,或者iso镜像文件等。
24.在本实施例中,在内核初始化完成,并确定电子设备存在接入的外置设备后,从外置设备中获取根文件系统升级包。
25.具体地,请参阅图2,图2是本申请提供的从外置设备中获取根文件系统升级包一实施方式的流程示意图。本实施方式可以包括如下步骤:
26.s121:检测是否有外置设备接入。
27.电子设备具有用于与外置设备连接的端口,电子设备的端口包括识别引脚。在外置设备通过电子设备的端口与电子设备连接时,触发识别引脚生成识别信号。电子设备根据该识别信号确定有外置设备接入;电子设备的端口没有该识别信号生成时,可以确定没有外置设备接入。
28.在内核初始化完成后,先识别外置设备,使得电子设备能在根文件系统不完整的情况下通过外置设备实现根文件系统的升级。
29.s122:若有外置设备接入,检测是否存在根文件系统升级包。
30.当识别到有外置设备接入后,电子设备与外置设备建立通信连接,以将外置设备挂载于内核中的文件系统中,并检测外置设备中是否存在根文件系统升级包。其中,挂载
(mounting)是指由操作系统使一个存储设备(诸如硬盘、cd

rom或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。在本实施例中,外置设备被挂载于内核中的文件系统,也即,内核能够访问外置设备中的文件。
31.以外置设备为usb设备举例说明,电子设备先枚举外置设备,电子设备能从usb设备中读取各种描述符信息,电子设备在获取到各种描述符信息后与usb设备建立通信连接,从而能够访问usb设备。
32.具体地,在电子设备与外置设备建立通信连接后,检测外置设备中是否存在指定升级包目录;若外置设备中存在指定升级包目录,再检测指定升级包目录内是否存在根文件系统升级包。
33.该指定的升级包目录被命名为约定的特定名字。电子设备通过访问指定的升级包目录,使得无需访问外置设备中其余的目录,能缩短升级所花费的时间以及降低电子设备的负载。
34.s123:若存在根文件系统升级包,获取根文件系统升级包。
35.当检测到外置设备中存在根文件系统升级包时,控制根文件系统升级包传输至电子设备。
36.当电子设备未识别到外置设备以及未找到根文件系统升级包,则启动电子设备上的根文件系统的应用层程序(升级程序),以通过升级程序获取根文件系统升级包。
37.在本申请中,在内核初始化完成后,先识别挂载外置设备,外置设备被挂载后,从外置设备获取根文件系统升级包,相比于在线获取根文件系统升级包,能够提高获取根文件系统升级包的效率,改善网络异常造成获取根文件系统升级包效率低下的问题。
38.步骤s13:将根文件系统升级包写入到预设分区内,完成升级。
39.将根文件系统升级包写入到预设分区内,并在预设分区安装该根文件系统升级包,以完成电子设备的根文件系统升级。
40.请参阅图3,图3是本申请提供的将根文件系统升级包写入到预设分区内一实施方式的流程示意图。本实施方式包括如下步骤:
41.步骤s1311:查询原根文件系统对应的分区标志位。
42.分区标志位用于标记原根文件系统在电子设备的硬件磁盘中的存储位置。
43.步骤s1312:在区别于原根文件系统所在的分区的其他分区中确定预设分区。
44.将预设分区设置于区别于原根文件系统所在的分区的其他分区中,这样,即使升级失败,与不会影响原根文件系统所在的分区,保证了电子设备仍然可以正常启动、运行。
45.例如,当前使用分区a作为原根文件系统分区,则用另一个分区(比如分区b)来作为预设分区。这样,如果升级失败,由于分区a中的数据并没有被更改,电子设备在上电、重启后,仍然可以根据分区a中的数据正常启动。
46.在一些实施方式中,为了提高根文件系统升级包的安全性、降低根文件系统被破解后电子设备被root进后台的风险,根文件系统升级包可以是被加密保护的,因此,在安装根文件系统升级包时,电子设备需要先对根文件系统升级包进行解密以获取其中的数据。
47.请参阅图3,图3是本申请提供的将根文件系统升级包写入到预设分区内一实施方式的流程示意图。本实施方式包括如下步骤:
48.步骤s1313:判断根文件系统升级包是否处于加密状态。
49.若根文件系统升级包处于加密状态,则执行s1314;若根文件系统升级包没有处于加密状态,即根文件系统升级包为明文的文件数据,则执行s1315。
50.步骤s1314:解密根文件系统升级包以获得文件数据,并将文件数据写入预设分区内。
51.根文件系统升级包可以是对称加密算法加密得到的,也可以是非对称加密算法加密得到的。其中,非对称加密算法的被破解的难度更高,因而其安全性更高。将文件数据加密得到加密状态的文件系统升级包,能够提高文件数据的安全性,进而降低文件数据泄露导致电子设备的root权限被破解带来的风险。
52.电子设备中例如存储有约定好的秘钥,利用秘钥解密根文件系统升级包以获得明文的文件数据,将文件数据写入预设分区内。
53.根文件系统升级包可以是先传输到本电子设备中,再进行解密得到文件数据的,也可以在外置设备中解密得到文件数据,再将文件数据传输写入到预设分区内的。
54.步骤s1315:获取文件数据的校验值和根文件系统升级包的包头中携带的校验值。
55.文件数据在传输或写入预设分区的过程中,可能存在数据的丢失、失真等情况。为了保证电子设备系统升级的安全性,可以验证预设分区中的文件数据与根文件系统升级包对应的文件数据是否一致。
56.为了降低验证预设分区中的文件数据与根文件系统升级包对应的文件数据是否一致的运算量,可以基于文件数据的校验值来验证。
57.升级包的包头中,还可以包括根文件系统升级包的包头的数据结构描述信息,例如描述包头大小、文件偏移量和文件数据的校验值等信息。本申请中,可以采用散列算法计算文件数据的校验值。其中,散列算法具体可以是md2、md4、md5、haval、sha、sha

1、hmac、hmac

md5或hmac

sha1等。本实施例以散列算法为md5(message

digest algorithm 5,信息

摘要算法)为例进行说明。md5码能够把一个任意长度的字节串变换成一定长度的十六进制数字串,让大容量信息在用数字签名应用程序签署私人密钥前被“压缩”成一种保密的格式,任何文件有且只有独一无二的md5信息值,并且如果文件被修改,其md5信息值也将随之改变。
58.具体地,使用md5计算预设分区中的文件数据的md5值,得到预设分区中的文件数据的校验值。
59.步骤s1316:比较文件数据的校验值和根文件系统升级包的包头中携带的校验值。
60.md5会根据文件的内容产生一个散列值,内容不一致的文件数据的散列值是不相同的;内容一致的文件数据的散列值是相同的。通过比较文件数据的校验值和根文件系统升级包的包头中携带的校验值,能够判断写入预设分区中的文件数据是否完整。
61.步骤s1317:若对比结果一致,将预设分区的分区标志位设置为启动分区对应的分区标志位。
62.预设分区中的文件数据的校验值和根文件系统升级包的包头中携带的校验值一致,说明预设分区中的文件数据和外置设备中根文件系统升级包对应的文件数据是相同的,根文件系统升级包在解密、文件数据在传输和写入的过程中没有出现数据失真。
63.确定比对结果为一致后,将预设分区的分区标志位设置为启动分区对应的分区标志位,以重启并引导预设分区中的根文件系统启动。
64.例如:原根文件系统所在的启动分区的分区标志位为分区a,则将预设分区的分区标志位设置为分区a。基于此设置,下次引导程序启动根文件系统时会从分区a启动升级后的根文件系统。
65.若对比结果不一致,则结束升级并引导原根文件系统启动。
66.本实施例通过在内核初始化完成后,先识别挂载外置设备,并获取外置设备中的根文件系统升级包,将根文件系统升级包写入到预设分区内,能够降低电子设备在线升级根文件系统时升级程序不能被正常拉起所带来的风险,以及降低在线升级过程中网络异常的影响。并且,基于内核对根文件系统进行升级,能够降低电子设备系统高负载导致升级失败,从而提高升级成功率。
67.为使根文件系统升级包能够被成功、准确地安装以完成电子设备的根文件系统升级,本申请在将根文件系统升级包写入到预设分区内之前,还可以验证外置设备中是否存在防二次升级flag文件,以及根文件系统升级包的完整性。
68.请参阅图4,图4是本申请提供的根文件系统的升级方法第二实施例的流程示意图。本实施例是基于根文件系统的升级方法第一实施例,故相同的步骤在此不再赘述,本实施例包括如下步骤:
69.s21:执行内核初始化。
70.本步骤对应于根文件系统的升级方法第一实施例的s11。
71.s22:在内核初始化完成后,检测是否有外置设备接入。
72.本步骤对应于根文件系统的升级方法第一实施例的s121。
73.若是,执行s23;若否,则执行s29。
74.s23:检测外置设备中是否存在防二次升级flag文件。
75.其中,防二次升级flag文件用于防止电子设备重复升级,以确定电子设备是否能够基于该外置设备进行升级。
76.若外置设备中存在防二次升级flag文件,说明已经通过该外置设备升级过,则执行s29;若检测外置设备中不存在防二次升级flag文件,则执行s24。
77.s24:检测是否存在根文件系统升级包。
78.本步骤对应于根文件系统的升级方法第一实施例的s122。
79.若是,则执行s25;若否,则执行s29。
80.s25:检验根文件系统升级包的完整性。
81.获取根文件系统升级包的校验值和外置设备中与根文件系统升级包对应的校验值存放文件中的校验值;
82.对比根文件系统升级包的校验值和校验值存放文件的校验值,以判断根文件系统升级包的完整性。
83.本申请可以采用散列算法计算根文件系统升级包的校验值。其中,散列算法具体可以是md2、md4、md5、haval、sha、sha

1、hmac、hmac

md5或hmac

sha1等,还可以采用现有技术提供的任意一种校验值计算的方式进行计算,在此不做具体限定。
84.若是,则执行s26;若否,则执行s29。
85.s26:将根文件系统升级包写入到预设分区内。
86.本步骤对应于根文件系统的升级方法第一实施例的s13。
87.s27:往外置设备中写入防二次升级flag文件。
88.往外置设备中写入防二次升级flag文件,以防止电子设备基于外置设备中的根文件系统升级包进行二次升级。
89.在往外置设备中写入防二次升级flag文件之后,执行s28。
90.s28:重启并引导预设分区中的根文件系统启动,完成升级。
91.s29:结束升级并引导原根文件系统启动。
92.本实施例通过防二次升级flag文件的检验,避免电子设备的二次升级;同时为使根文件系统升级包能够被成功、准确地安装以完成电子设备的根文件系统升级,本申请在将根文件系统升级包写入到预设分区内之前对根文件系统升级包的完整性进行验证,避免写入数据不完整的根文件系统升级包。
93.本申请还提供了一种电子设备,该电子设备可以是机顶盒、个人电脑、智能手机、平板电脑、掌上电脑、便携计算机等。
94.请参阅图5,图5是本申请公开的一种电子设备的结构图,可以包括处理器101、总线102和存储器103。
95.其中,存储器103至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。进一步地,存储器103不仅可以用于存储电子设备的应用软件及各类数据,例如计算机程序104的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
96.外置设备可以是外部存储设备,例如u盘、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。外置设备可以用于存储各类数据,例如根文件系统升级包等。
97.处理器101在一些实施例中可以是一中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器103中存储的程序代码或处理数据,以实现上述任一实施例提供的根文件系统的升级方法,例如执行计算机程序104等。
98.总线102可以是外设部件互连标准总线或扩展工业标准结构总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
99.处理器101通过总线102耦接外置设备和存储器103,分别用于获取根文件系统升级包和执行计算机程序104。
100.本申请实施例提供的电子设备,能够在根文件系统不完整的情况下通过外置设备实现根文件系统升级,有效地提高了升级成功率;同时在升级失败的情况下,也能引导原根文件系统,防止电子设备“变砖”。
101.本申请还提供了一种计算机可读存储介质,计算机存储介质可以是ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动硬盘、cd

rom或者本领域已知的任何其他形式的存储介质。
102.对于上述实施例的方法,其可以计算机程序的形式存在,因而本申请提出一种计算机可读存储介质,请参阅图6,图6是本申请提供的计算机可读存储介质一实施例的结构示意图。本实施例计算机可读存储介质600中存储有计算机程序601,其可被执行以实现上
述实施例中的方法。
103.本实施例计算机可读存储介质600可以是u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
104.需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
105.以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1