本发明涉及软件升级,尤其涉及一种uboot升级检验方法。
背景技术:
1、当前通信设备所处的环境越来越复杂,使得用户对通信设备的要求越来越高;为了满足用户的需求,设备功能在不断的优化升级,uboot也会伴随升级;由于uboot是引导系统启动的程序,一旦升级失败,会导致程序无法启动,设备无法使用;在复杂的网络环境,或者恶劣的物理环境中,远程升级uboot,可能会使uboot升级失败,所以需要提高uboot升级的成功率,以及需要准备失败后的处理方法。
2、中国专利cn1077042528a《uboot升级方法、系统及终端设备》公开了一种uboot升级方法、系统及终端设备,在存储模块上设置两个uboot启动区域,可以根据uboot启动标志位的值来确定启动区域。然而上述专利的存储模块不够便携,且在升级失败后仅能保证正常启动设备,而不能在常规方式升级失败后,继续升级设备。
技术实现思路
1、有鉴于此,本发明提出了一种uboot升级检验方法,为远程uboot升级提供一种升级检验机制及方法,来提高升级成功率,以及升级失败后的处理方法,解决了目前uboot升级方法在升级失败后仅能保证正常启动设备,而不能在常规方式升级失败后,继续升级设备的问题。
2、本发明的技术方案是这样实现的:一方面,本发明提供了一种uboot升级检验方法,包括以下步骤:
3、s1,开始校验,进行uboot镜像文件传输;
4、s2,校验uboot镜像文件,进行解密;
5、s3,校验擦写flash操作,校验成功后校验写入的flash文件,校验成功则uboot升级成功,校验擦写flash操作或写入的flash文件多次失败后,退出升级进程,输出升级失败并执行步骤s4;
6、s4,通过内部有uboot升级文件的u盘恢复flash文件并继续升级。
7、优选的,步骤s1包括:
8、s11,在电脑上输入待升级设备的ip地址,开始升级uboot,在电脑和待升级设备间建立连接;
9、s12,在电脑上选中要升级的uboot镜像文件,将uboot镜像文件传输到待升级设备中。
10、优选的,步骤s2包括:
11、s21,将uboot镜像文件放入1024×n的二维数组中,在二维数组中随机取两个坐标,进行内容替换,取替换的两个坐标为一组数据,完成加密;
12、计算二维数组的列数n:
13、
14、其中,m为uboot镜像文件的长度;
15、s22,将每组数据按照生成的顺序,从后往前进行内容替换,直到替换完所有的数据,完成解密;
16、s23,对解密后的文件进行校验。
17、优选的,步骤s3包括:
18、s31,对uboot升级文件存在的分区进行擦写操作,擦写操作成功,则执行步骤s32;擦写操作失败,则等待5秒后重新进行擦写操作,失败5次后,退出升级进程,输出升级失败;
19、s32,将擦写操作写入分区的内容读出来,将读出来的文件与uboot升级文件对比,如果一致,则升级成功;如果不一致,则校验失败,重新执行步骤s31,校验失败5次后,退出升级进程,输出升级失败。
20、优选的,步骤s4包括:
21、s41,通过内部有uboot升级文件的u盘启动待升级设备;
22、s42,通过u盘中的uboot升级文件升级待升级设备。
23、优选的,步骤s41包括:
24、s411,在待升级设备上插入内部有uboot升级文件的u盘;
25、s412,按住uboot升级按钮,重启待升级设备;
26、s413,对uboot升级按钮的状态进行判断,如果uboot升级按钮的状态是按下的,则执行升级进程,否则正常启动;
27、s414,轮循检测是否有密钥文件。
28、优选的,步骤s42包括:
29、s421,待升级设备重新启动后,根据设备型号,找到u盘中,并读取其中的uboot升级文件,根据uboot升级文件内容,生成密钥文件;
30、s422,u盘检测到密钥文件,判断密钥是否正确,正确则放开权限,使待升级设备读取uboot升级文件;
31、s423,设备获取可读权限后,将uboot文件写入flash文件,完成升级。
32、另一方面,本发明还提供一种uboot升级检验系统,所述系统包括:
33、镜像文件传输模块,用于开始校验,进行uboot镜像文件传输;
34、镜像文件校验模块,用于校验uboot镜像文件,进行解密;
35、擦写文件校验模块,用于校验擦写flash操作,校验成功后校验写入的flash文件,校验成功则uboot升级成功,校验擦写flash操作或写入的flash文件多次失败后,退出升级进程,输出升级失败并执行失败恢复升级模块;
36、失败恢复升级模块,用于通过内部有uboot升级文件的u盘恢复flash文件并继续升级。
37、另一方面,本发明的实施例还提供了一种设备,该设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现该uboot升级检验方法的步骤。
38、另一方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现该uboot升级检验方法的步骤。
39、本发明的一种uboot升级检验方法及系统相对于现有技术具有以下有益效果:
40、(1)通过镜像文件传输,对镜像文件进行加密和解密,完成校验,通过擦写flash以及校验写入的flash文件,判断升级状态,若不成功还有失败后的恢复升级方法,实现了在常规方式升级失败后,继续升级设备;
41、(2)通过校验机制保障了uboot升级文件的内容的准确性,对uboot镜像文件进行加密和解密后,再对加密和解密部分进行校验,校验通过后就可以实现准确的uboot升级;
42、(3)通过插入内部有uboot升级文件的u盘,在待升级设备校验失败以及升级失败后,可以实现恢复升级失败的待升级设备,重新启动后并通过u盘中的uboot升级文件完成升级。
1.一种uboot升级检验方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种uboot升级检验方法,其特征在于,所述步骤s1包括:
3.如权利要求1所述的一种uboot升级检验方法,其特征在于,所述步骤s2包括:
4.如权利要求1所述的一种uboot升级检验方法,其特征在于,所述步骤s3包括:
5.如权利要求1所述的一种uboot升级检验方法,其特征在于,所述步骤s4包括:
6.如权利要求5所述的一种uboot升级检验方法,其特征在于,所述步骤s41包括:
7.如权利要求5所述的一种uboot升级检验方法,其特征在于,所述步骤s42包括:
8.一种uboot升级检验系统,其特征在于,所述系统包括:
9.一种设备,其特征在于,所述设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。