一种差异化系统配置、加载方法、装置及计算机设备制造方法及图纸

技术编号:39252415 阅读:11 留言:0更新日期:2023-10-30 12:04
本发明专利技术涉及嵌入式技术领域,公开了一种差异化系统配置、加载方法、装置及计算机设备,配置方法包括:制作不包含设备配置信息的一个目标内核文件;制作多个设备树文件并对应配置不同主板标识;制作根文件系统并保存多种应用程序配置文件,不同的应用程序配置文件标记不同主板标识;将设备树文件和目标内核文件打包生成内核数据包;将引导程序、内核数据包和根文件系统拼接生成固件程序。当固件程序被加载时,通过主板标识匹配对应的目标设备树文件和目标应用程序配置文件,从而启动适配主板硬件的内核进程,还满足主板定制化的应用启动需求。不仅解决了固件程序体量大的问题,而且固件程序只需维护一个版本,还降低了固件程序的维护复杂度。维护复杂度。维护复杂度。

【技术实现步骤摘要】
一种差异化系统配置、加载方法、装置及计算机设备


[0001]本专利技术涉及嵌入式
,具体涉及一种差异化系统配置、加载方法、装置及计算机设备。

技术介绍

[0002]ARM处理器广泛应用于各个行业,如在服务器领域,ARM主板主要作为BMC监控和管理的服务设备。ARM主板常用的嵌入式系统是基于linux内核的操作系统,以一个完整的固件程序烧录于ARM主板的Flash存储中,通常,固件程序主要包含引导程序BootLoader、内核Kernel和根文件系统RootFs三部分。当ARM上电时,首先运行引导程序BootLoader,对处理器、串口等硬件进行初始化,然后将存储在芯片闪存中的内核Kernel导入内存,运行内核Kernel,内核Kernel启动成功后,挂载根文件系统RootFs。
[0003]通常,由于不同主板对应的硬件配置和用户的软件需求不一样,所以内核Kernel中的设备驱动程序和根文件系统RootFs的配置(例如不同的用户系统启动时会默认启动不同的应用程序)会存在差别。为了应对不同的需求,相关技术主要采用两种方案,第一种方案是对于不同用户采用不同的代码编译规则,在固件产品发布时,根据不同的用户运行不同编码规则打包出不同的固件程序,然后提供用户使用。第二种方案是在制作固件程序时,在一个固件程序中打包多种不同的linux操作系统,不同的linux操作系统之间包括的内核kernel硬件配置及根文件系统软件配置不同,当用户加载固件程序时根据自己的需求选择一项linux操作系统启动。以上两种方案均存在明显的缺陷,第一种方案的产品开发维护工作量大,发布版本需要制作多个版本的固件包,且用户升级时需要选择对应的固件包升级。第二种方案的固件程序包非常庞大,需要用户提供较大的非易失性存储,对于硬件存储资源要求较高,且随着固件程序包的变大用户升级需要耗费的时间成本也就越高。因此,需要一种新的方案,能够使用户使用ARM芯片时,根据差异化的需求快速加载更轻量的固件程序。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种差异化系统配置、加载方法、装置及计算机设备,以同时解决固件程序体量大和维护工作复杂的问题。
[0005]第一方面,本专利技术提供了一种差异化系统配置方法,方法包括:接收第一指令,并响应于第一指令生成不包含设备配置信息的一个目标内核文件;接收第二指令,并响应于第二指令生成多个设备树文件,并为不同设备树文件对应配置不同主板标识,主板标识用于唯一表征主板的类型;接收第三指令,并响应于第三指令生成根文件系统,并在根文件系统的指定目录下保存多种应用程序配置文件,其中,不同的应用程序配置文件标记了不同主板标识;基于多个设备树文件和目标内核文件打包生成内核数据包;将引导程序、内核数据包和根文件系统拼接生成固件程序。
[0006]本专利技术实施例提供的差异化系统配置方法用于配置固件程序,在提供的固件程序
中,只包括一个目标目标内核文件、一个根文件系统和一个引导程序,为了适配于不同的硬件设备,再添加多个设备树文件,且不同的设备树文件对应配置上不同的主板标识。为了适配不同的开机自启应用软件需求,在根文件系统的指定目录下还保存了多种应用程序配置文件,且不同的应用程序配置文件也标记了不同主板标识。最后,将上述全部文件打包为固件程序镜像,一方面,固件程序没有因为不同设备和不同的软件需求制作多个内核文件和多个文件系统,减小了固件程序的体积,降低了对主板存储资源的需求。另一方面,当固件程序被加载时,可以根据实际主板的主板标识从多种设备树文件和多种应用程序配置文件匹配对应的目标设备树文件和目标应用程序配置文件,通过加载目标设备树文件和目标内核文件到内存,能够启动适配实际主板硬件信息的内核进程,通过目标应用程序配置文件可以满足实际主板定制化的开机自启应用软件需求。不仅解决了固件程序体量大的问题,而且固件程序只需维护一个版本,还降低了固件程序的维护复杂度。
[0007]在一种可选地实施方式中,为不同设备树文件对应配置不同主板标识,包括:制作内核配置文件,并在内核配置文件中记录不同的设备树文件的名称所对应的不同主板标识。
[0008]在一种可选地实施方式中,基于多个设备树文件和目标内核文件打包生成内核数据包,包括:将内核配置文件、目标内核文件和二进制形式的多个设备树文件通过mkimage工具打包为内核数据包。
[0009]第二方面,本专利技术提供了一种差异化系统加载方法,应用于主板设备,方法包括:当主板设备上电时,加载固件程序中的引导程序对主板设备进行硬件初始化;通过引导程序识别主板设备的当前主板标识;通过引导程序在固件程序的内核数据包中确定当前主板标识对应的目标设备树文件;通过引导程序将内核数据包中的目标设备树文件和目标内核文件加载到内存;通过目标设备树文件和目标内核文件启动内核进程;通过内核进程挂载固件程序中的根文件系统;根据当前主板标识在根文件系统的指定目录下确定对应的目标应用程序配置文件;通过根文件系统解析并运行目标应用程序配置文件,以启动目标应用程序。
[0010]本专利技术实施例提供的差异化系统加载方法,用于主板设备上电启动时加载前述配置方法打包的固件程序,在提供的固件程序中,只包括一个目标内核文件、一个根文件系统和一个引导程序,为了适配于不同的硬件设备,再添加多个设备树文件,且不同的设备树文件对应配置上不同的主板标识。为了适配不同的开机自启应用软件需求,在根文件系统的指定目录下还保存了多种应用程序配置文件,且不同的应用程序配置文件也标记了不同主板标识。最后,将上述全部文件打包为固件程序镜像,一方面,固件程序没有因为不同设备和不同的软件需求制作多个内核文件和多个文件系统,减小了固件程序的体积,降低了对主板存储资源的需求。另一方面,当固件程序被加载时,可以根据实际主板的主板标识从多种设备树文件和多种应用程序配置文件匹配对应的目标设备树文件和目标应用程序配置文件,通过加载目标设备树文件和目标内核文件到内存,能够启动适配实际主板硬件信息的内核进程,通过目标应用程序配置文件可以满足实际主板定制化的开机自启应用软件需求。不仅解决了固件程序体量大的问题,而且固件程序只需维护一个版本,还降低了固件程序的维护复杂度。
[0011]在一种可选地实施方式中,通过引导程序在固件程序的内核数据包中确定当前主
板标识对应的目标设备树文件,包括:通过引导程序解析固件程序中的内核配置文件,并在内核配置文件中查找与当前主板标识对应的目标名称;通过目标名称在内核数据包的多个设备树文件中确定目标设备树文件。
[0012]在一种可选地实施方式中,通过引导程序将内核数据包中的目标设备树文件和目标内核文件加载到内存,包括:根据目标设备树文件的地址修改bootm命令;通过引导程序运行修改后的bootm命令,以将目标设备树文件和目标内核文件加载到内存。
[0013]在一种可选地实施方式中,方法还包括:当引导程序在识别到当前主板标识时,通过引导程序将当前主板标识存入BootArgs文件中;当通过引导程序将内核数据包中的目标设备树本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种差异化系统配置方法,其特征在于,所述方法包括:接收第一指令,并响应于所述第一指令生成不包含设备配置信息的一个目标内核文件;接收第二指令,并响应于所述第二指令生成多个设备树文件,并为不同设备树文件对应配置不同主板标识,所述主板标识用于唯一表征主板的类型;接收第三指令,并响应于所述第三指令生成根文件系统,并在所述根文件系统的指定目录下保存多种应用程序配置文件,其中,不同的所述应用程序配置文件标记了不同主板标识;基于多个所述设备树文件和所述目标内核文件打包生成内核数据包;将引导程序、所述内核数据包和所述根文件系统拼接生成固件程序。2.根据权利要求1所述的方法,其特征在于,所述为不同设备树文件对应配置不同主板标识,包括:制作内核配置文件,并在所述内核配置文件中记录不同的设备树文件的名称所对应的不同主板标识。3.根据权利要求2所述的方法,其特征在于,所述基于多个所述设备树文件和所述目标内核文件打包生成所述内核数据包,包括:将所述内核配置文件、所述目标内核文件和二进制形式的多个所述设备树文件通过mkimage工具打包为所述内核数据包。4.一种差异化系统加载方法,其特征在于,应用于主板设备,所述方法包括:当主板设备上电时,加载固件程序中的引导程序对所述主板设备进行硬件初始化;通过所述引导程序识别所述主板设备的当前主板标识;通过所述引导程序在固件程序的内核数据包中确定所述当前主板标识对应的目标设备树文件;通过所述引导程序将内核数据包中的目标设备树文件和目标内核文件加载到内存;通过所述目标设备树文件和所述目标内核文件启动内核进程;通过所述内核进程挂载固件程序中的根文件系统;根据所述当前主板标识在所述根文件系统的指定目录下确定对应的目标应用程序配置文件;通过所述根文件系统解析并运行所述目标应用程序配置文件,以启动目标应用程序。5.根据权利要求4所述的方法,其特征在于,所述通过所述引导程序在固件程序的内核数据包中确定所述当前主板标识对应的目标设备树文件,包括:通过所述引导程序解析固件程序中的内核配置文件,并在所述内核配置文件中查找与所述当前主板标识对应的目标名称;通过所述目标名称在内核数据包的多个设备树文件中确定所述目标设备树文件。6.根据权利要求4所述的方法,其特征在于,所述通过所述引导程序将内核数据包中的目标设备树文件和目标内核文件加载到内存,包括:根据所述目标设备树文件的地址修改bootm命令;通过所述引导程序运行修改后的bootm命令,以将所述目标设备树文件和所述目标内核文件加载到内存。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述引导程序在识别到所述当前主板标识时,通过所述引导程序将所述当前主板标识存入BootArgs文件中;当通过所述引导程序将内核数据包...

【专利技术属性】
技术研发人员:李宏宏刘宝阳孙明
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1