[发明专利]操作系统的构建编译方法及装置、电子设备、存储介质有效
申请号: | 202111053824.1 | 申请日: | 2021-09-09 |
公开(公告)号: | CN113504914B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 刘成城 | 申请(专利权)人: | 北京鲸鲮信息系统技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/4401 |
代理公司: | 北京中创阳光知识产权代理有限责任公司 11003 | 代理人: | 尹振启 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 构建 编译 方法 装置 电子设备 存储 介质 | ||
本申请是关于一种操作系统的构建编译方法及装置、电子设备、存储介质。所述方法包括:响应于编译指令,获取编译环境中对应的系统编译工具;调用系统编译工具,收集第一操作系统的工具链和对应的基础代码库,构建第一操作系统的根系统;扫描第二操作系统的基础库代码层,根据编译规则为基础库代码层选用相应的编译器,生成融合编译框架;确定编译框架中包含的框架层之间的依赖关系,根据依赖关系生成按编译优先级排序的依赖树,依赖树中的节点代表框架层的编译模块;根据依赖树中的依赖关系,调用框架层的编译模块获取编译源代码,将框架层安装到根系统中,生成编译文件系统。本申请大大提升了系统编译效率。
技术领域
本申请实施例涉及多系统融合编译技术,尤其涉及一种操作系统的构建编译方法及装置、电子设备、存储介质。
背景技术
标准Linux系统因其开源及兼容等属性,得到了广泛应用。在众多应用中,对Linux系统进行构建编译的应用比较常见,特别是Linux系统发行版本镜像的构建,在系统安装时都需要进行相应的系统构建。一般而言,Linux系统的镜像构建包含根文件系统构建、内核编译、用户态驱动编译、系统层编译、包管理以及镜像压缩生成等环节。传统Linux编译工具为buildroot,buildroot普遍面向的是嵌入式系统,层级相对简单,不适用于编译构建较为复杂的Linux桌面系统,尤其无法适用于在Linux系统兼容Android等情况。
发明内容
有鉴于此,本申请实施例提供一种操作系统的构建编译方法及装置、电子设备、存储介质,以至少解决现有技术中存在的以上技术问题。
根据本申请实施例的第一方面,提供一种操作系统的构建编译方法,包括:
响应于编译指令,获取编译环境中对应的系统编译工具;
调用所述系统编译工具,基于第一操作系统的编译参数收集所述第一操作系统的工具链和对应的基础代码库,构建所述第一操作系统的根系统;
扫描第二操作系统的基础库代码层,并解析编译规则;根据所述编译规则为所述基础库代码层选用相应的编译器,通过所述编译器对所述基础库代码层进行编译,将编译结果安装于所述根系统中,生成融合编译框架;
确定所述编译框架中包含的框架层之间的依赖关系,根据所述依赖关系生成按编译优先级排序的依赖树,所述依赖树中的节点代表框架层的编译模块;
根据所述依赖树中的依赖关系,调用所述框架层的编译模块获取编译源代码,将所述框架层安装到所述根系统中,生成编译文件系统。
在一个实施例中,所述框架层包括基础框架层、子系统框架层、设备相关层、应用框架层;
所述依赖关系至少包括:所述基础框架层依赖第一操作系统的基础库,所述子系统层依赖于所述基础框架层和所述设备相关层,所述应用框架层依赖于所述子系统框架层,所述设备相关层依赖于第二操作系统的核心基础系统库。
在一个实施例中,所述方法还包括:
为所述设备相关层设置胶水兼容层,以及第二操作系统的头文件层,所述设备相关层依赖于所述胶水兼容层及所述头文件层;
所述设备相关层中的编译模块在对所述胶水兼容层进行系统文件编译时,依据所述头文件层动态加载所述第二操作系统的核心基础系统库。
在一个实施例中,所述方法还包括:
为所述框架层设置规则文件;所述规则文件至少包括所述框架层的编译模块标识、编译模块参数、编译源代码路径、框架层所属层级标识、编译依赖关系列表;
所述根据所述依赖关系生成按编译优先级排序的依赖树,包括:
根据所述框架层所属层级标识以及所述编译依赖关系列表,生成所述依赖树。
在一个实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鲸鲮信息系统技术有限公司,未经北京鲸鲮信息系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111053824.1/2.html,转载请声明来源钻瓜专利网。