一种计算机boot的启动方法及装置与流程
未命名
08-26
阅读:112
评论:0
1.本发明涉及启动服务器技术领域,尤其涉及一种计算机boot的启动方法及装置。
背景技术:
2.boot是指一个程序,在计算机操作系统运行前自动运行。通过这小程序,可以建立内存空间映射图和初始化硬件设备,将系统的软硬件环境带到合适的状态,为最终调用操作系统的核心准备正确的环境。
3.但目前常用的服务器或计算机仅支持一种boot,比如power架构仅使用hostboot,当需要开发一套系统启动服务器时,每次都要针对特定的计算机或服务器开发一套新的boot程序,再调用新开发的boot程序启动计算机,大大增加了研发成本且启动服务器的操作效率低,并且有些开发团队并不熟悉hostboot,还要去学习hostboot相关知识才能进行开发,这无疑又增加了开发成本与周期,在支持了其他boot启动之后,开发团队可以利用现有知识即可开发boot程序,节省开发成本,缩短开发周期。
技术实现要素:
4.本发明提出一种计算机boot的启动方法及装置,所述方法可以预先整合多个boot程序,当需要启动服务器时采集所需要的boot类型,根据boot类型从多个boot程序筛选目标boot程序并运行,既可以减少开发成本,又可以提升启动的操作效率。
5.本发明实施例的第一方面提供了一种计算机boot的启动方法,所述方法包括:
6.当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息;
7.基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序;
8.加载并运行所述目标boot程序,以启动计算机。
9.在第一方面的一种可能的实现方式中,所述基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序,包括:
10.从所述配置信息中提取类型信息;
11.按照所述类型信息对应的地址在预设的多个boot程序中查找对应目标boot程序。
12.在第一方面的一种可能的实现方式中,所述类型信息,包括:boot类型、存储地址,程序容量以及加载地址。
13.在第一方面的一种可能的实现方式中,所述硬件初始化的操作,包括:
14.分别初始化串行外设接口、espi总线、i3c总线、cmn控制矩阵网络、内存、缓存和处理器。
15.本发明实施例的第二方面提供了一种计算机boot的启动装置,所述装置包括:
16.获取模块,用于当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息;
17.匹配模块,用于基于所述配置信息从预设的多个boot程序中匹配对应目标boot程
序;
18.启动模块,用于加载并运行所述目标boot程序,以启动计算机。
19.在第二方面的一种可能的实现方式中,所述匹配模块,还用于:
20.从所述配置信息中提取类型信息;
21.按照所述类型信息对应的地址在预设的多个boot程序中查找对应目标boot程序。
22.在第二方面的一种可能的实现方式中,所述类型信息,包括:boot类型、存储地址,程序容量以及加载地址。
23.在第二方面的一种可能的实现方式中,所述硬件初始化的操作,包括:
24.分别初始化串行外设接口、espi总线、i3c总线、cmn控制矩阵网络、内存、缓存和处理器。
25.相比于现有技术,本发明实施例提供的一种计算机boot的启动方法及装置,其有益效果在于:本发明可以预先整合多个boot程序,当需要启动服务器时采集所需要的boot类型,根据boot类型从多个boot程序筛选目标boot程序并运行,使开发团队可以利用现有知识即可开发目标主机的boot程序,既可以减少开发成本,又可以提升启动的操作效率,极大地增加了服务器启动的灵活性。
附图说明
26.图1是本发明一实施例提供的一种计算机boot的启动方法的流程示意图;
27.图2是本发明一实施例提供的一种计算机boot的启动方法的操作流程图;
28.图3是本发明一实施例提供的一种计算机boot的启动装置的结构示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.为了解决上述问题,下面将通过以下具体的实施例对本技术实施例提供的一种计算机boot的启动方法进行详细介绍和说明。
31.参照图1,示出了本发明一实施例提供的一种计算机boot的启动方法的流程示意图。
32.在一实施例中,所述方法适用于计算机或智能终端。
33.其中,作为示例的,所述计算机boot的启动方法,可以包括:
34.s11、当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息。
35.在一实现方式中,可以先控制计算机上电,然后让计算机的各个硬件完成初始化。接着可以获取用户输入的配置信息,这些配置信息可以是启动计算机所需要的信息,具体可以是启动计算机的boot程序所需要的信息。例如,计算机的硬件配置、类型、操作型号等等。
36.其中,作为示例的,所述硬件初始化的操作可以包括以下子步骤:
37.s111、分别初始化串行外设接口、espi总线、i3c总线、cmn控制矩阵网络、内存、缓存和处理器。
38.具体地,需要初始化一系列硬件,主要包括以下硬件:
39.初始化串行外设接口spi,spi接口用于flash的读写,根据ip要求的初始化流程进行初始化;scp要启动host cpu的boot就需要读取flash上的boot image,并将这些boot image加载到合适的位置;
40.初始化espi总线,espi总线用于与bmc的通信,根据ip要求的初始化流程进行初始化;host cpu启动boot阶段需要与bmc进行通信,而通信的接口就是espi;
41.初始化i3c总线,i3c总线用于访问dimm条的spd,后面进行ddr初始化和tranning需要。
42.初始化cmn控制矩阵网络,初始化cmn,需要知道sam系统map表。
43.初始化ddr内存,如果scp要将boot image加载到内存,就要进行ddr的初始化以及tranning。
44.初始化缓存l3 cache,如果scp要将boot image加载到l3 cache中,就需要对l3cache进行初始化,并将l3 cache设置为ocm模式,即l3 cache可以当作主内存使用。
45.初始化处理器host cpu,选定一个chip上的一个core上的一个thread并将执行权交给这个thread,执行boot image。
46.s12、基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序。
47.在一实施例中,用户可以预先设定多个boot程序,每个boot程序均可以启动操作系统,scp也可以引导启动不同类型的多种boot。例如:hostboot、coreboot、uefi等。
48.在一可选的实施例中,步骤s12可以包括以下子步骤:
49.s121、从所述配置信息中提取类型信息。
50.在一实施例中,所述类型信息,包括:boot类型、存储地址,程序容量以及加载地址。
51.s122、按照所述类型信息对应的地址在预设的多个boot程序中查找对应目标boot程序。
52.具体地,配置信息可以是用户通过bmc的终端进行输入,从所述配置信息中提取类型信息,以确定要启动的boot的类型。
53.可选地,配置信息还可以在flash中的配置区域进行配置。
54.当scp提取类型信息以获取到boot的类型时,就根据类型信息(包括类型,地址,大小以及要加载的地址等信息)到不同位置加载这个目标boot程序。
55.s13、加载并运行所述目标boot程序,以启动计算机。
56.具体地,启动的目标boot程序包括:hostboot,coreboot,uefi等。
57.在一实施例中,启动和运行目标boot程序之后,根据各种目标boot程序的不同实现,还会加载其他有效载荷。
58.比如,hostboot进行一些必要的操作之后会加载skiboot,这与hostboot的实现有关。启动uefi后可以加载skiboot也可以加载其他载荷。具体的操作可以根据实际加载的目标boot程序进行调整。
59.参照图2,示出了本发明一实施例提供的一种计算机boot的启动方法的操作流程
图。
60.具体地,所述计算机boot的启动方法可以报包括以下步骤:
61.第一步,上电之后scp初始化相关的硬件。
62.第二步,检测配置的要启动的boot类型。
63.第三步,从不同存储区域加载相应的boot。
64.第四步,运行相应的boot。
65.另外,本发明还支持其他多种boot启动,比如uefi,coreboot等,厂商就能利用现有资源进行相应的开发就很快能够上手,节省研发成本,缩短研发周期。
66.在本实施例中,本发明实施例提供了一种计算机boot的启动方法,其有益效果在于:本发明可以预先整合多个boot程序,当需要启动服务器时采集所需要的boot类型,根据boot类型从多个boot程序筛选目标boot程序并运行,既可以减少开发成本,又可以提升启动的操作效率。
67.本发明实施例还提供了一种计算机boot的启动装置,参见图3,示出了本发明一实施例提供的一种计算机boot的启动装置的结构示意图。
68.其中,作为示例的,所述计算机boot的启动装置可以包括:
69.获取模块301,用于当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息;
70.匹配模块302,用于基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序;
71.启动模块303,用于加载并运行所述目标boot程序,以启动计算机。
72.可选地,所述匹配模块,还用于:
73.从所述配置信息中提取类型信息;
74.按照所述类型信息对应的地址在预设的多个boot程序中查找对应目标boot程序。
75.可选地,所述类型信息,包括:boot类型、存储地址,程序容量以及加载地址。
76.可选地,所述硬件初始化的操作,包括:
77.分别初始化串行外设接口、espi总线、i3c总线、cmn控制矩阵网络、内存、缓存和处理器。
78.所属技术领域的技术人员可以清楚地了解到,为方便的描述和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
79.进一步的,本技术实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的计算机boot的启动方法。
80.进一步的,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如上述实施例所述的计算机boot的启动方法。
81.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
技术特征:
1.一种计算机boot的启动方法,其特征在于,所述方法包括:当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息;基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序;加载并运行所述目标boot程序,以启动计算机。2.根据权利要求1所述的计算机boot的启动方法,其特征在于,所述基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序,包括:从所述配置信息中提取类型信息;按照所述类型信息对应的地址在预设的多个boot程序中查找对应目标boot程序。3.根据权利要求2所述的计算机boot的启动方法,其特征在于,所述类型信息,包括:boot类型、存储地址,程序容量以及加载地址。4.根据权利要求1-3任意一项所述的计算机boot的启动方法,其特征在于,所述硬件初始化的操作,包括:分别初始化串行外设接口、espi总线、i3c总线、cmn控制矩阵网络、内存、缓存和处理器。5.一种计算机boot的启动装置,其特征在于,所述装置包括:获取模块,用于当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息;匹配模块,用于基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序;启动模块,用于加载并运行所述目标boot程序,以启动计算机。6.根据权利要求5所述的计算机boot的启动装置,其特征在于,所述匹配模块,还用于:从所述配置信息中提取类型信息;按照所述类型信息对应的地址在预设的多个boot程序中查找对应目标boot程序。7.根据权利要求6所述的计算机boot的启动装置,其特征在于,所述类型信息,包括:boot类型、存储地址,程序容量以及加载地址。8.根据权利要求5-7任意一项所述的计算机boot的启动装置,其特征在于,所述硬件初始化的操作,包括:分别初始化串行外设接口、espi总线、i3c总线、cmn控制矩阵网络、内存、缓存和处理器。9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任意一项所述的计算机boot的启动方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如权利要求1-4任意一项所述的计算机boot的启动方法。
技术总结
本发明公开了一种计算机boot的启动方法、装置、电子设备及计算机可读存储介质,所述方法包括:当确定计算机上电且完成硬件初始化后,获取配置信息,所述配置信息为计算机启动所需的信息;基于所述配置信息从预设的多个boot程序中匹配对应目标boot程序;加载并运行所述目标boot程序,以启动计算机。本发明可以预先整合多个boot程序,当需要启动服务器时采集所需要的boot类型,根据boot类型从多个boot程序筛选目标boot程序并运行,使开发团队可以利用现有知识即可开发目标主机的boot程序,既可以减少开发成本,又可以提升启动的操作效率,极大地增加了服务器启动的灵活性。极大地增加了服务器启动的灵活性。极大地增加了服务器启动的灵活性。
技术研发人员:姜磊 刘宇 张明波 姜帅超 汤彩芸
受保护的技术使用者:上海合芯数字科技有限公司
技术研发日:2023.05.25
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
