《操作系统启动方法、装置、电子设备及可读存储介质.pdf》由会员分享,可在线阅读,更多相关《操作系统启动方法、装置、电子设备及可读存储介质.pdf(24页珍藏版)》请在专利查询网上搜索。
1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202410045586.7(22)申请日 2024.01.11(71)申请人 北京开源芯片研究院地址 100084 北京市海淀区海淀大街31号3层312(72)发明人 郭亚星王然宋炳豪葛琪孔令辉南云昊胡楠梓朱航加柏文(74)专利代理机构 北京润泽恒知识产权代理有限公司 11319专利代理师 莎日娜(51)Int.Cl.G06F 9/4401(2018.01)G06F 9/44(2018.01)(54)发明名称操作系统启动方法、装置、电子设备及可读存储介质(57)摘要本申请提供了一种操作系统启动方。
2、法、装置、电子设备及可读存储介质,涉及计算机技术领域,方法包括:响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件加载在内存中的第一加载地址;根据第一相对地址偏移,以及第一加载地址,获取操作系统镜像文件加载在内存中的第二加载地址;根据第二加载地址,从UEFI镜像文件中获取操作系统镜像文件,并启动操作系统,以供操作系统在第一处理器中运行。本申请的操作系统启动方法,可以满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求。权利要求书2页 说明书14页 附图7页CN 11。
3、7555605 A2024.02.13CN 117555605 A1.一种操作系统启动方法,其特征在于,应用于第一处理器,所述方法包括:响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在内存中的第一加载地址;所述嵌入有操作系统镜像文件的UEFI镜像文件,是第二处理器将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,并被加载在内存中的文件;根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址;根据所述第二加载地址,从所述嵌入有操作。
4、系统镜像文件的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。2.根据权利要求1所述的方法,其特征在于,所述UEFI镜像文件包括用于供操作系统启动的系统配置信息;所述启动操作系统,包括:根据所述操作系统镜像文件,获取所述操作系统的入口地址;获取所述UEFI镜像文件中的系统配置信息;根据所述系统配置信息和所述入口地址,启动所述操作系统。3.根据权利要求2所述的方法,其特征在于,所述根据所述系统配置信息和所述入口地址,启动所述操作系统,包括:根据所述入口地址,获取所述操作系统镜像文件中的操作系统入口;将所述系统配置信息传递至所述操作系统入口,启。
5、动所述操作系统。4.根据权利要求2所述的方法,其特征在于,所述操作系统镜像文件包括程序头,所述程序头中存放有操作系统入口相对于所述程序头的第二相对地址偏移,所述第二加载地址表示所述程序头加载在所述内存中的地址;所述根据所述操作系统镜像文件,获取所述操作系统的入口地址,包括:从所述程序头中提取所述第二相对地址偏移;根据所述第二相对地址偏移和所述第二加载地址,得到所述入口地址。5.根据权利要求4所述的方法,其特征在于,根据所述第二相对地址偏移和所述第二加载地址,得到所述入口地址,包括:对所述第二相对地址偏移和所述第二加载地址进行加法运算,得到所述入口地址。6.根据权利要求1所述的方法,其特征在于,。
6、根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址,包括:对所述第一相对地址偏移和所述第一加载地址进行加法运算,得到所述第二加载地址。7.一种操作系统启动方法,其特征在于,应用于第二处理器,所述方法包括:获取操作系统镜像文件,以及UEFI镜像文件;将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,获取所述UEFI镜像文件中,操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,并将所述第一相对地址偏移记录在所述UEFI镜像文件中;将嵌入有所述操作系统镜像文件的UEFI镜像文件加载在内存中,以供第一处理器响应于操作系统启动指令,从嵌入有操。
7、作系统镜像文件的UEFI镜像文件中,获取操作系统镜像权利要求书1/2 页2CN 117555605 A2文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在所述内存中的第一加载地址;并根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址,根据所述第二加载地址,从加载在所述内存中的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。8.一种操作系统启动装置,其特征在于,所述装置位于第一处理器,所述装置包括:第一获取模块,用于响应于操作系统启动指令,从嵌入有操作系统镜像文。
8、件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在内存中的第一加载地址,所述嵌入有操作系统镜像文件的UEFI镜像文件,是第二处理器将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,并被加载在内存中的文件;第二获取模块,用于根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址;第三获取模块,用于根据所述第二加载地址,从所述嵌入有操作系统镜像文件的UEFI镜像文件的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。9.一种操作。
9、系统启动装置,其特征在于,装置位于第二处理器,所述装置包括:第四获取模块,用于获取操作系统镜像文件,以及UEFI镜像文件;第五获取模块,用于将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,获取所述UEFI镜像文件中,操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,并将所述第一相对地址偏移记录在所述UEFI镜像文件中;加载模块,用于将嵌入有所述操作系统镜像文件的UEFI镜像文件加载在内存中,以供第一处理器响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在所述内存中的第。
10、一加载地址;并根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址,根据所述第二加载地址,从加载在所述内存中的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。10.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的方法。11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的方法。权利要求书2/。
11、2 页3CN 117555605 A3操作系统启动方法、装置、电子设备及可读存储介质技术领域0001本申请涉及计算机技术领域,尤其涉及一种操作系统启动方法、装置、电子设备及可读存储介质。背景技术0002统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)可以获取操作系统镜像文件,并根据操作系统镜像文件启动操作系统。0003在相关技术中,通过UEFI从硬盘等存储设备外设中获取操作系统镜像文件,并基于获取的操作系统镜像文件启动操作系统,使操作系统运行在对应的处理器中然而,通过UEFI从硬盘等存储设备中获取操作系统镜像文件时,需要在UEFI中加载。
12、存储设备的驱动,且对于系统级芯片(System on Chip,SOC)等没有外设存储设备的处理器,无法通过相关技术的方法获取操作系统镜像文件并启动操作系统。即,相关技术中的方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求。发明内容0004本申请实施例提供一种操作系统启动方法、装置、电子设备及可读存储介质,以解决在先技术中的操作系统启动方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求的问题。0005第一方面,本申请实施例提供了一种操作系统启动方法,应用于第一处理器,所述方法包括:响应于操作系统启动指令,从嵌入有。
13、操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在内存中的第一加载地址;所述嵌入有操作系统镜像文件的UEFI镜像文件,是第二处理器将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,并被加载在内存中的文件;根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址;根据所述第二加载地址,从所述嵌入有操作系统镜像文件的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。0006第二方面,本申请实施例提供了一种操作系统启动。
14、方法,应用于第二处理器,所述方法包括:获取操作系统镜像文件,以及UEFI镜像文件;将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,获取所述UEFI镜像文件中,操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,并将所述第一相对地址偏移记录在所述UEFI镜像文件中;将嵌入有所述操作系统镜像文件的UEFI镜像文件加载在内存中,以供第一处理器说明书1/14 页4CN 117555605 A4响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在所述内存中的第一加载地址;并根据所述。
15、第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址,根据所述第二加载地址,从加载在所述内存中的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。0007第三方面,本申请实施例还提供了一种操作系统启动装置,所述装置位于第一处理器,所述装置包括:第一获取模块,用于响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在所述内存中的第一加载地址,所述嵌入有操作系统镜像文件的UEFI镜像文件,是第二。
16、处理器将所述操作系统镜像文件嵌入在所述UEFI镜像文件中,并被加载在内存中的文件;第二获取模块,用于根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址;第三获取模块,用于根据所述第二加载地址,从所述嵌入有操作系统镜像文件的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。0008第四方面,本申请实施例还提供了一种操作系统启动装置,装置位于第二处理器,所述装置包括:第四获取模块,用于获取操作系统镜像文件,以及UEFI镜像文件;第五获取模块,用于将所述操作系统镜像文件嵌入在所述UEFI镜像文件中。
17、,获取所述UEFI镜像文件中,操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,并将所述第一相对地址偏移记录在所述UEFI镜像文件中;加载模块,用于将嵌入有所述操作系统镜像文件的UEFI镜像文件加载在内存中,以供第一处理器响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在所述内存中的第一加载地址;并根据所述第一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址,根据所述第二加载地址,从加载在所述内存中的UEFI镜像文件中,获取所述操。
18、作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。0009第五方面,本申请实施例还提供了一种电子设备,包括处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现所述第一方面或第二方面的方法。0010第六方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面或第二方面的方法。0011综上,在本申请实施例中,响应于操作系统启动指令,从加载在内存中,且嵌入有说明书2/14 页5CN 117555605 A5操作系统镜像文件的UEFI镜像文件中,获取操作系。
19、统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件的第一加载地址,根据第一加载地址和第一相对地址偏移,可以获取操作系统镜像文件的加载在内存中的第二加载地址,根据第二加载地址可以得到操作系统镜像文件,并启动操作系统。根据本实施例的方法,不需要从硬盘等存储设备外设中获取操作系统镜像文件,直接从加载在内存中的UEFI镜像文件中即可得到操作系统镜像文件,进而启动操作系统。解决了相关技术中的操作系统启动方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求的问题。0012上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依。
20、照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明0013为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。0014图1是本申请实施例提供的一种操作系统启动方法应用场景示意图;图2是本申请实施例提供的一种操作系统启动方法步骤流程图;图3是本申请实施例提供的一种嵌入操作系统镜像文件的UEFI镜像文件的示意图;图4是本申请实施例提供的另一种操。
21、作系统启动方法步骤流程图;图5是本申请实施例提供的又一种操作系统启动方法步骤流程图;图6是本申请实施例提供的又一种操作系统启动方法的交互步骤流程图;图7是本申请实施例提供的又一种操作系统启动方法步骤流程图;图8是本发明实施例提供的一种操作程序启动装置框图;图9是本发明实施例提供的另一种操作程序启动装置框图;图10是本发明实施例提供的一种电子设备的框图;图11是本发明另一个实施例的另一种电子设备的框图。具体实施方式0015下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技。
22、术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本申请保护的范围。0016本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表说明书3/14 页6CN 117555605 A6示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存。
23、在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。0017图1是本申请实施例提供的一种操作系统启动方法的应用场景示意图,参照图1,应用场景至少包括第一处理器和第二处理器,其中,第一处理器为系统级芯片(SOC)11,第二处理器为用于开发系统级芯片的计算机12。0018计算机将操作系统镜像文件嵌入UEFI镜像文件中,并将嵌入有操作系统镜像文件的UEFI镜像文件加载在SOC的内存中,SOC响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一。
24、相对地址偏移,以及UEFI镜像文件的第一加载地址。根据第一相对地址偏移和第一加载地址,获取操作系统镜像文件加载在内存中的第二加载地址,根据第二加载地址,从UEFI镜像文件中获取操作系统镜像文件,并启动操作系统,以供操作系统在SOC中运行。0019图1所示的是开发SOC的应用场景,在该应用场景中,第一处理器为SOC,第二处理器为计算机,操作系统在SOC中运行后,计算机可以判断操作系统运行是否正常,并根据判断结果调试SOC。需要说明的是,本申请的操作系统启动方法,不仅适用于图1所示的开发SOC的应用场景中,还使用于其他应用场景中,第一处理器也不限定于SOC,第二处理器也不限定与计算机。比如,第一处。
25、理器可以是其他需要启动操作程序并运行的处理器,第二处理器可以是服务器、平板电脑等处理设备。0020下面结合附图,通过具体的实施例对本申请实施例提供的操作系统启动方法进行详细地说明。0021图2是本申请实施例提供的一种操作系统启动方法的步骤流程图,方法应用于第一处理器。示例地,第一处理器可以为SOC,也可以是其他处理器。0022如图2所示,该方法可以包括:步骤101、响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件加载在内存中的第一加载地址。0023具体的,嵌入有操作系统镜像文件的UEFI镜像。
26、文件,是第二处理器将操作系统镜像文件嵌入在UEFI镜像文件中后,加载在内存中的文件。0024具体的,UEFI镜像文件,是与引导操作系统的UEFI对应的文件。进一步的,UEFI用于在操作系统启动前,为处理器(比如,SOC)提供软件服务,并且引导操作系统。UEFI定义了固件和操作系统之间的软件接口,并向操作系统提供运行时信息及服务,并向操作系统提供处理器的硬件信息,比如,向操作系统提供处理器中硬件模块的拓扑结构信息。0025示例地,嵌入有操作系统镜像文件的UEFI镜像文件,是第二处理器在UEFI中,将操作系统镜像文件以文件二进制(File)的方式直接编译到UEFI镜像文件中所得到的。第二处理器在获。
27、取嵌入有操作系统镜像文件的UEFI镜像文件后,将其加载在第一处理器的内存中。0026进一步的,嵌入有操作系统镜像文件的UEFI镜像文件加载在内存中后,UEFI镜像文件具有在内存中的第一加载地址。另外,操作系统镜像文件在内存中的地址,与第一加载地址之间具有地址偏移,该地址偏移即为操作系统镜像文件相对于UEFI镜像文件的第一相说明书4/14 页7CN 117555605 A7对地址偏移。0027进一步的,第二处理器是用于将操作系统镜像文件嵌入UEFI镜像文件,并将嵌入有操作系统镜像文件的UEFI镜像文件加载在第一处理器内存中的处理器。第二处理器可以为平板电脑,台式计算机、服务器,或者其他能够将操作。
28、系统镜像文件嵌入UEFI镜像文件,并将其加载在第一处理器内存中的设备。0028示例地,在开发第一处理器的应用场景中,第一处理器可以为SOC,第二处理器可以为用于开发SOC的计算机。第二处理器在UEFI中,将操作系统镜像文件以File二进制的方式直接编译到UEFI镜像文件中。0029步骤102,根据第一相对地址偏移,以及第一加载地址,获取操作系统镜像文件加载在内存中的第二加载地址。0030示例地,参照图3,嵌入有操作系统镜像文件的UEFI镜像文件包括两部分,一部分为UEFI镜像文件,另一部分为操作系统镜像文件。第一相对地址偏移,相当于操作系统镜像文件的起始地址,与UEFI镜像文件的起始地址之间的。
29、地址偏移,因此,对第一相对地址偏移和第一加载地址进行加法运算,可以得到操作系统镜像文件加载在内存中的第二加载地址,该第二加载地址,相当于操作系统镜像文件的起始地址。0031进一步的,在UEFI镜像文件嵌入操作系统镜像文件后,UEFI镜像文件和操作系统镜像文件之间可以没有间隔(如图3所示),也可以有间隔。0032步骤103,根据第二加载地址,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件,并启动操作系统,以供操作系统在第一处理器中运行。0033示例地,从第二加载地址处提取得到操作系统镜像文件。0034示例地,根据第二加载地址,从UEFI镜像文件中获取操作系统镜像文件后,通过解。
30、析操作系统镜像文件,得到操作系统的入口地址。其中,操作系统的入口地址表示开始执行操作系统的操作系统入口的位置。进一步的,根据UEFI镜像文件的系统配置信息和操作系统的入口地址,启动操作系统。具体的,通过UEFI将系统配置信息传递至操作系统入口,并引导操作系统启动。0035综上,在本申请实施例中,响应于操作系统启动指令,从加载在内存中,且嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件的第一加载地址,根据第一加载地址和第一相对地址偏移,可以获取操作系统镜像文件加载在内存中的第二加载地址,根据第二加载地址可以得到操作系统。
31、镜像文件,并启动操作系统。根据本实施例的方法,不需要从硬盘等存储设备外设中获取操作系统镜像文件,直接从加载在内存中的UEFI镜像文件中即可得到操作系统镜像文件,进而启动操作系统。因为不需要从存储设备外设中获取操作系统镜像文件,所以本实施例的方法,不需要在第一处理器中开发存储设备驱动,提高了获取操作系统镜像文件的效率,以及启动操作系统的效率。并且在第一处理器没有存储设备外设的情况下,也可以正常获取操作系统镜像文件,并启动操作程序。解决了相关技术中的操作系统启动方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求的问题。0036另外,在通过第二处理器开发第一处。
32、理器的应用场景中,通过本实施例的方法,第一处理器不需要通过外设存储设备获取操作系统镜像文件,因此不需要为第一处理器开发说明书5/14 页8CN 117555605 A8存储设备驱动,节省了开发存储设备驱动的时间,提高了第一处理器的开发效率。0037图4是本申请实施例提供的另一种操作系统启动方法的步骤流程图,参照图4,方法可以包括如下步骤:步骤201,响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件加载在内存中的第一加载地址。0038具体的,嵌入有操作系统镜像文件的UEFI镜像文件,是第二处理。
33、器将操作系统镜像文件嵌入在UEFI镜像文件中,并被加载在内存中的文件。0039本步骤的方法,在前述步骤101中已作说明,此处不再赘述。0040步骤202,对第一相对地址偏移和第一加载地址进行加法运算,得到第二加载地址。0041其中,第二加载地址是操作系统镜像文件加载在内存中的地址。0042步骤203,根据第二加载地址,从UEFI镜像文件中,获取操作系统镜像文件。0043本步骤的方法,在前述步骤103中已作说明,此处不再赘述。0044本步骤中的UEFI镜像文件,为嵌入有操作系统镜像文件的UEFI镜像文件。0045在一个实施例中,UEFI镜像文件包括用于供操作系统启动的系统配置信息。0046步骤2。
34、04,根据操作系统镜像文件,获取操作系统的入口地址。0047示例地,解析操作系统镜像文件,得到操作系统的入口地址。0048在一个实施例中,操作系统镜像文件包括程序头,程序头中存放有操作系统入口相对于程序头的第二相对地址偏移,操作系统镜像文件中的第二加载地址表示程序头加载在内存中的地址。0049即,程序头在内存中的加载地址,为操作系统镜像文件在内存中的第二加载地址。0050对应地,步骤204可以包括如下子步骤:子步骤2041,从程序头中提取第二相对地址偏移。0051示例地,解析操作系统镜像文件,从操作系统镜像文件的程序头中,提取第二相对地址偏移。0052子步骤2042,根据第二相对地址偏移和第二。
35、加载地址,得到入口地址。0053根据操作系统入口相对于程序头的第二相对地址偏移,以及程序头在内存中的第二加载地址,可以获取操作系统的入口地址。0054在一个实施例中,子步骤2042可以包括如下子步骤:子步骤2043,对第二相对地址偏移和第二加载地址进行加法运算,得到入口地址。0055示例地,入口地址为操作系统入口的地址,对操作系统入口相对于程序头的第二相对地址偏移,和程序头在内存中的第二加载地址进行加法运算,可以获取操作系统的入口地址。0056步骤205,获取UEFI镜像文件中的系统配置信息。0057示例地,系统配置信息为程序启动和运行所需要的系统配置信息。0058示例地,系统配置信息可以包括。
36、操作系统运行时服务接口,以及运行操作系统的第一处理器的硬件信息配置表。进一步的,硬件信息配置表包括第一处理器中各硬件模块的拓扑结构,拓扑结构表征第一处理器中各硬件模块的连接关系。说明书6/14 页9CN 117555605 A90059步骤206,根据系统配置信息和入口地址,启动操作系统。0060示例地,第一处理器通过UEFI,将系统配置信息传递至操作系统的入口地址处,并引导操作系统启动。0061在一个实施例中,步骤206可以包括如下子步骤:子步骤2061,根据入口地址,获取操作系统镜像文件中的操作系统入口。0062示例地,将入口地址处的操作系统代码,作为操作系统镜像文件的操作系统入口。006。
37、3子步骤2062,将系统配置信息传递至操作系统入口,启动操作系统。0064示例地,将系统配置信息传递至操作系统入口,以将系统配置信息配置给操作系统,进而引导操作系统启动。0065综上,在本实施例中,从加载在内存中的,嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,对第一相对地址偏移,和UEFI镜像文件的第一加载地址进行加法运算,可以准确确定操作系统镜像文件的第二加载地址,进而准确且快速的从内存中获取操作系统镜像文件,并从操作系统镜像文件中获取操作系统的入口地址,根据UEFI镜像文件中的系统配置信息,以及操作系统入口的入口地址,启动操作系。
38、统。本实施例不需要从硬盘等存储设备外设中获取操作系统镜像文件,直接从加载在内存中的UEFI镜像文件中即可得到操作系统镜像文件,进而启动操作系统,解决了相关技术中的操作系统启动方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求的问题。0066图5是本申请实施例提供的另一种操作系统启动方法的步骤流程图,方法应用于第二处理器。0067示例地,第二处理器是用于将操作系统镜像文件嵌入UEFI镜像文件的处理器。示例地,第二处理器可以为平板电脑、台式计算机、服务器,或者其他可以将操作系统镜像文件嵌入UEFI镜像文件,并将嵌入有操作系统镜像文件的UEFI镜像文件加载在第。
39、一处理器的内存中的处理器。0068示例地,在开发第一处理器的应用场景中,第二处理器为用于开发第一处理器,且具有开发第一处理器的硬件和软件环境的处理器。比如,第一处理器为SOC,第二处理器为计算机,第二处理器通过现场可编辑程门阵列(Field Programmable Gate Array,FPGA)调试开发SOC。0069参照图5,操作系统启动方法可以包括如下步骤:步骤301,获取操作系统镜像文件,以及UEFI镜像文件。0070示例地,第二处理器可以从第二处理器的内存中获取操作系统镜像文件,以及UEFI镜像文件。0071示例地,第二处理器可以从硬盘等存储设备中获取操作系统镜像文件。0072步骤。
40、302,将操作系统镜像文件嵌入在UEFI镜像文件中,获取UEFI镜像文件中,操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,并将第一相对地址偏移记录在UEFI镜像文件中。0073示例地,第二处理器可以通过UEFI,将操作系统镜像文件,以File二进制的方式直接编译到UEFI镜像文件中,以实现将操作系统镜像文件嵌入UEFI镜像文件中。0074示例地,将操作系统镜像文件编译在UEFI镜像文件中,在将操作系统镜像文件编说明书7/14 页10CN 117555605 A10译在UEFI镜像文件的过程中,确定出第一相对地址偏移,并将第一相对地址偏移记录在UEFI镜像文件中。0075步骤303,。
41、将嵌入有操作系统镜像文件的UEFI镜像文件加载在内存中,以供第一处理器响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件加载在内存中的第一加载地址;并根据第一相对地址偏移,以及第一加载地址,获取操作系统镜像文件加载在内存中的第二加载地址,根据第二加载地址,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件,并启动操作系统,以供操作系统在第一处理器中运行。0076示例地,将嵌入有操作系统镜像文件的UEFI镜像文件加载在内存中,嵌入有操作系统镜像文件的UEFI镜像文件具有对应的第一。
42、加载地址。第一加载地址可以记录在嵌入有操作系统镜像文件的UEFI镜像文件中。0077示例地,第二处理器将嵌入有操作系统镜像文件的UEFI镜像文件加载在第一处理器的内存中,以供第一处理器响应于操作系统启动指令,从内存中获取嵌入有操作系统镜像文件的UEFI文件所包括的文件和数据。0078第一处理器响应于操作系统启动指令,根据嵌入有操作系统镜像文件的UEFI镜像文件启动操作程序的方法,在前述实施例中已做说明,此处不再赘述。0079综上,获取操作系统镜像文件,以及UEFI镜像文件,将操作系统镜像文件嵌入在UEFI镜像文件中,并将嵌入有操作系统镜像文件的UEFI镜像文件加载在内存中,由此,需要启动并运行。
43、操作系统的第一处理器不需要从硬盘等存储设备外设中获取操作系统镜像文件,直接从被第二处理器加载在内存中的UEFI镜像文件中,即可得到操作系统镜像文件,进而启动操作系统,解决了相关技术中的操作系统启动方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求的问题。0080图6是本申请实施例提供的一种操作系统启动方法的交互步骤流程图,方法应用于第一处理器和第二处理器,参照图6,方法可以包括如下步骤:步骤401,第二处理器获取操作系统镜像文件,以及UEFI镜像文件。0081本步骤的方法,在前述步骤301中已做说明,此处不再赘述。0082步骤402,第二处理器将操作系统。
44、镜像文件嵌入在UEFI镜像文件中,获取UEFI镜像文件中操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,并将第一相对地址偏移记录在UEFI镜像文件中。0083本步骤的方法,在前述步骤302中已做说明,此处不再赘述。0084步骤403,第二处理器将嵌入有操作系统镜像文件的UEFI镜像文件加载在内存中。0085其中,加载在内存中的嵌入有操作系统镜像文件的UEFI镜像文件,用于供第一处理器响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于所述UEFI镜像文件的第一相对地址偏移,以及所述UEFI镜像文件加载在所述内存中的第一加载地址;并根据所述第。
45、一相对地址偏移,以及所述第一加载地址,获取所述操作系统镜像文件加载在所述内存中的第二加载地址,根据所述第二加载地址,从加载在所述内存中的UEFI镜像文件中,获取所述操作系统镜像文件,并启动操作系统,以供所述操作系统在所述第一处理器中运行。0086本步骤的方法,在前述步骤303中已做说明,此处不再赘述。说明书8/14 页11CN 117555605 A110087步骤404,第一处理器响应于操作系统启动指令,从嵌入有操作系统镜像文件的UEFI镜像文件中,获取操作系统镜像文件相对于UEFI镜像文件的第一相对地址偏移,以及UEFI镜像文件加载在内存中的第一加载地址。0088本步骤的方法,在前述步骤1。
46、01中已做说明,此处不再赘述。0089步骤405,第一处理器根据第一相对地址偏移,以及第一加载地址,获取操作系统镜像文件加载在内存中的第二加载地址。0090本步骤的方法,在前述步骤102中已做说明,此处不再赘述。0091步骤406,根据第二加载地址,从UEFI镜像文件中,获取操作系统镜像文件,并启动操作系统,以供操作系统在第一处理器中运行。0092本步骤的方法,在前述步骤103中已做说明,此处不再赘述。0093综上,在本实施例中,第二处理器获取操作系统镜像文件,以及UEFI镜像文件,将操作系统镜像文件嵌入在UEFI镜像文件中,并将嵌入有操作系统镜像文件的UEFI镜像文件加载在内存中,由此,需要。
47、启动并运行操作系统的第一处理器不需要从硬盘等存储设备外设中获取操作系统镜像文件,直接从被第二处理器加载在内存中的UEFI镜像文件中,即可得到操作系统镜像文件,进而启动操作系统,解决了相关技术中的操作系统启动方法,不能满足无法连接外设存储设备的处理器,或者没有存储设备驱动的处理器的操作系统启动需求的问题。0094图7是本申请实施例提供的一种操作系统启动方法的步骤流程图,参照图7,方法可以包括如下步骤:步骤S1,第二处理器在UEFI中,将操作系统镜像文件嵌入在UEFI镜像文件中。0095示例地,第二处理器在UEFI中,将操作系统镜像文件以File二进制的方式直接编译到UEFI镜像文件中。0096步。
48、骤S2,第二处理器在UEFI中编写可扩展固件接口(Extensible Firmware Interface,efi)程序,并加载到控制台命令(shell command)中。0097示例地,efi程序包括前述实施例中的操作系统启动指令。第二处理器将efi程序加载到shell command中后,第一处理器可以响应于其中的操作系统启动指令,进行后续获取操作系统镜像文件,以及启动操作系统的操作。0098步骤S3,第一处理器基于efi程序,读取操作系统镜像文件在UEFI镜像文件中的第一相对地址偏移。0099具体的,efi是在UEFI上可执行的程序的格式。0100示例地,第一处理器基于efi程序中的。
49、操作系统启动指令,从UEFI镜像文件中,读取操作系统镜像文件在UEFI镜像文件中的第一相对地址偏移。0101在一个实施例中,本实施例的方法,应用于开发第一处理器(比如SOC)的场景中。在开发第一处理器的过程中,获取包括嵌入有操作系统镜像文件和UEFI镜像文件的工程文件,对工程文件进行编译,以将操作系统镜像文件编译到UEFI镜像文件中,在将操作系统镜像文件编译到UEFI镜像文件的过程中,生成操作系统镜像文件具有相对于UEFI镜像文件的第一相对地址偏移,可以将该第一相对地址偏移记录在工程文件中。进一步的,可以将第一相对地址偏移记录在UEFI镜像文件中。即,在开发第一处理器的应用场景中,可以从工程文。
50、件中读取配置好的第一相对地址偏移。说明书9/14 页12CN 117555605 A120102步骤S4,根据第一相对地址偏移,得到操作系统镜像文件的第二加载地址。0103具体的,根据第一相对地址偏移,以及UEFI镜像文件加载在内存中的第一加载地址,得到操作系统镜像文件的第二加载地址。0104步骤S5,第一处理器通过efi程序,从操作系统镜像文件的第二加载地址处,开始解析操作系统镜像文件,并找到操作系统的入口地址。0105示例地,第一处理器通过efi程序,从第二加载地址处获取操作系统镜像文件,并解析操作系统镜像文件,从操作系统镜像文件的程序头中,得到操作系统的入口地址。0106步骤S6,第一处。