一种系统启动方法、系统、设备及介质与流程

文档序号:36094165发布日期:2023-11-18 13:55阅读:88来源:国知局
一种系统启动方法、系统、设备及介质与流程

本发明涉及系统安全管理,尤其涉及一种系统启动方法、系统、设备及介质。


背景技术:

1、bmc(baseboard management controller,基板管理控制器)为一种嵌入式微控制器,能够用于管理并监控服务器或计算机系统的硬件和系统管理功能。随着bmc系统的应用越来越广泛,对安全性的要求也越来越高,尤其是bmc系统中固件程序的安全性。bmc系统的固件程序一般都烧录在闪存(flash)芯片中,若闪存芯片损坏或某部分固件程序被恶意篡改,都将会导致bmc系统无法正常启动,则无法保证服务器或计算机系统整体的安全性,降低了bmc系统的可靠性。

2、因此,如何提供一种具备高安全性和高可靠性的系统启动方法以避免bmc系统启动异常的问题,是急需解决的技术问题。


技术实现思路

1、有鉴于此,本发明提出了一种系统启动方法、系统、设备及介质,解决了双闪存中分别在不同分区存在异常固件程序导致bmc系统启动失败的问题,增强了bmc系统的稳定性与健壮性。

2、基于上述目的,本发明实施例的一方面提供了一种系统启动方法,具体包括如下步骤:

3、响应于接收到开机信号,通过监测芯片获取片选信号以确定接收所述开机信号时进行读取的第一闪存;

4、依次加载并校验所述第一闪存中各分区的固件程序,同时使用看门狗进行定时;

5、若所述第一闪存中存在分区的固件程序校验失败,在所述看门狗定时的时间内,发送切换片选信号请求以切换片选信号指向第二闪存,加载并校验所述第二闪存中与所述校验失败的分区对应分区的固件程序,并设置异常启动标识;

6、若所述第二闪存中所述对应分区的固件程序校验通过,依次加载并校验所述第二闪存中所述对应分区后的各分区的固件程序;

7、若所述第二闪存中所述对应分区后的各分区的固件程序均加载并校验成功,且看门狗未超时,通过所述第一闪存和所述第二闪存中加载并校验成功的所有固件程序启动控制系统。

8、在一些实施方式中,所述若所述第一闪存中存在分区的固件程序校验失败,在看门狗定时的时间内,发送切换片选信号请求以切换片选信号指向第二闪存的步骤,包括:

9、若所述第一闪存中存在分区的固件程序校验失败,确认所述第一闪存中所述分区的固件程序为异常固件程序,将所述第一闪存中所述分区的固件程序的启动路径记录至异常启动路径文件中,并发送切换片选信号请求;

10、响应于所述监测芯片接收到所述切换片选信号请求,通过对片选信号取反以切换片选信号指向第二闪存。

11、在一些实施方式中,方法还包括:

12、若所述第二闪存中所述对应分区后存在分区的固件程序再次校验失败,在所述看门狗定时的时间内,再次发送切换片选信号请求以切换片选信号指向第一闪存,加载并校验所述第一闪存中与再次校验失败分区对应的分区的固件程序;

13、若所述第一闪存中与再次校验失败分区对应的分区的固件程序校验通过,再次依次加载并校验所述第一闪存中后续分区的固件程序;

14、若所述第一闪存中后续分区的固件程序均加载并校验成功,且看门狗未超时,通过第一闪存和第二闪存中完成加载并校验成功的所有固件程序启动所述控制系统。

15、在一些实施方式中,所述若所述第二闪存中所述对应分区后存在分区的固件程序再次校验失败,在所述看门狗定时的时间内,再次发送切换片选信号请求以切换片选信号指向第一闪存的步骤,包括:

16、若所述第二闪存中所述对应分区后存在分区的固件程序再次校验失败,确认所述第二闪存中再次校验失败分区的固件程序为异常固件程序,将所述第二闪存中再次校验失败分区的固件程序的启动路径记录至异常启动路径文件中,并发送切换片选信号请求;

17、响应于监测芯片接收到所述切换片选信号请求,通过对片选信号再次取反以切换片选信号指向第一闪存。

18、在一些实施方式中,方法还包括:

19、响应于完成控制系统启动,检查所述异常启动标识的状态;

20、若所述异常启动标识处于置位状态,读取所述异常启动路径文件确定各异常固件程序的异常固件路径信息;

21、基于所有异常固件路径信息确定所述第一闪存和所述第二闪存中所有正常固件程序,并将所有正常固件程序的数据存储在内存中;

22、判断是否存在对应所述第一闪存和/或所述第二闪存的异常固件路径信息;

23、若存在对应所述第一闪存的异常固件路径信息,发送切换片选信号请求以切换所述片选信号指向第一闪存,并将内存中所有正常固件程序的数据写入第一闪存中;

24、若存在对应所述第二闪存的异常固件路径信息,发送切换片选信号请求以切换所述片选信号指向第二闪存,并将内存中所有正常固件程序的数据写入第二闪存中;

25、响应于存在异常固件路径信息的全部闪存完成更新,确定完成异常固件程序的修复;

26、开启配置信息同步进程以将所述第二闪存与所述第一闪存进行同步,确定所述控制系统正常完成运行。

27、在一些实施方式中,方法还包括:

28、若所述异常启动标识处于未置位状态,开启配置信息同步进程以将所述第二闪存与所述第一闪存进行同步,确定所述控制系统正常完成运行。

29、在一些实施方式中,所述设置异常启动标识的步骤,包括:

30、响应于所述监测芯片接收到所述切换片选信号请求,判断所述异常启动标识是否处于置位状态;

31、若所述异常启动标识处于未置位状态,更新所述异常启动标识为置位状态,并读取切换后的片选信号对应的闪存;

32、若所述异常启动标识处于置位状态,读取切换后的片选信号对应的闪存。

33、在一些实施方式中,方法还包括:

34、若所述第一闪存中各分区的固件程序均加载并校验成功,确定所述第一闪存中所有固件程序均为正常固件程序,通过第一闪存中所有固件程序启动控制系统,并开启喂狗信号确定控制系统启动完成。

35、在一些实施方式中,方法还包括:

36、若所述第一闪存和所述第二闪存中存在固件程序均校验失败的分区,等待所述看门狗超时后将所述控制系统复位并停止启动所述控制系统。

37、所述依次加载并校验所述第一闪存中各分区的固件程序的步骤,包括:

38、从起始分区的固件程序开始依次加载并校验所述第一闪存中各分区的固件程序。

39、在一些实施方式中,所述监测芯片包括复杂可编程逻辑器件,所述控制系统包括基板管理控制器。

40、本发明实施例的另一方面,还提供了一种系统启动系统,其特征在于,包括:

41、获取单元,用于响应于接收到开机信号,通过监测芯片获取片选信号以确定接收所述开机信号时进行的第一闪存;

42、第一加载校验单元,用于依次加载并校验所述第一闪存中各分区的固件程序,同时使用看门狗进行定时;

43、切换单元,用于在所述第一闪存中存在分区的固件程序校验失败时,在所述看门狗定时的时间内,发送切换片选信号请求以切换片选信号指向第二闪存,加载并校验所述第二闪存中与所述校验失败的分区对应分区的固件程序,并设置异常启动标识;

44、第二加载校验单元,用于若所述第二闪存中所述对应分区的固件程序校验通过,依次加载并校验所述第二闪存中所述对应分区后的各分区的固件程序;

45、启动单元,若所述第二闪存中所述对应分区后的各分区的固件程序均加载并校验成功,且看门狗未超时,通过所述第一闪存和所述第二闪存中加载并校验成功的所有固件程序启动控制系统。

46、本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述计算机程序由所述处理器执行时实现如上方法的步骤。

47、本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。

48、本发明至少具有以下有益技术效果:

49、本发明提供了一种系统启动方法,采用安全启动策略对当前闪存中各部分固件程序进行校验,一旦检测到当前闪存中存在异常固件程序,在看门狗定时的时间内发送切换片选信号请求告知监测芯片切换至另一闪存加载并校验与异常固件程序处于相同分区的固件程序,即一旦某个闪存中某个分区校验失败,能够在看门狗定时的时间内自动加载另一闪存中相同分区的正常固件程序以完成系统的启动,只需重新加载另一闪存中与异常固件程序相同分区的固件程序,无需复位控制系统重新进行看门狗计时后对另一闪存中所有固件程序进行重新加载,并且当双闪存中同时存在不同分区下的异常固件程序时,能够在看门狗定时的时间内切换片选信号相互加载对方闪存中相同分区的正常固件程序以完成系统的启动,解决了双闪存中存在一个或多个不同分区固件程序出现数据异常导致控制系统启动失败的问题,增强了控制系统的稳定性和健壮性。

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