本发明涉及risc-v aiot操作系统领域,具体涉及一种面向risc-v aiot的高定制化操作系统构建方法和系统。
背景技术:
1、近年来,aiot(人工智能物联网)应用场景得到了广泛的发展,同时aiot应用场景面临多样化和存储资源有限的挑战。risc-v架构处理器可以较好地解决该问题,指令集包含基本指令集和扩展指令集,risc-v处理器的扩展指令集可以根据应用的不同,进行定制。
2、aiot应用场景包含有工业级物联网、消费级物联网、公用级物联网三种不同的应用场景。针对不同的场景,所需的使用体验、技术要求以及用户的需求都有所不同。工业级物联网应用场景主要有智能制造、智慧医疗、自动驾驶等,消费级物联网应用场景主要有智能家居、可穿戴、智慧办公等,公用级物联网应用场景主要有智慧水表、智慧消防、智慧农业、智慧城市等。不同的应用场景对os(操作系统)的定制要求也不同。
3、risc-v是模块化的指令集架构,这种灵活性允许用户根据场景需求设计不同的微处理器。risc-v灵活性的基础依赖于risc-v指令集的四大基本指令集架构和十几种扩展指令集的结合。硬件的广泛使用依赖于软件生态的发展。risc-v丰富的指令集同样对os高定制化提出要求。os高定制不仅包含定制的应用软件,还包含基础c库的选择、内核定制等。
4、在aiot场景下,操作系统既满足用户的从应用、基础库、内核等多维定制需求,又能解决aiot场景中存储资源有限,构建满足用户需求的最小系统镜像,成为当前需要解决的问题。
技术实现思路
1、针对现有技术中存在的技术问题,本发明的目的在于提供一种面向risc-v aiot的高定制化操作系统构建方法和系统,用户选择定制操作系统的应用、基础库(包括基础c库等)、init管理器、内核配置、risc-v硬件,生成最小操作系统镜像。
2、本发明采用的技术方案如下:
3、一种面向risc-v aiot的高定制化操作系统构建方法,包括以下阶段:
4、生成定制的编译依赖关系阶段:
5、用户提供包含操作系统的应用、基础库(包括基础c库等)、init管理器、内核配置、risc-v硬件等多维度的操作系统定制清单,编译系统将清单中的应用、基础库(包括基础c库等)、init管理器、risc-v硬件等转化为编译属性,根据各组件的编译属性生成组件编译脚本;
6、同时,用户选择定制的操作系统的内核配置,与risc-v硬件的厂商初始内核配置项进行融合,检查内核配置选项的依赖关系,生成补全依赖关系的最小内核配置;
7、生成镜像阶段:
8、根据生成的组件编译脚本、最小内核配置和构建脚本模板,生成定制的操作系统编译依赖树,根据编译依赖树进行编译,生成定制的最小操作系统镜像。
9、进一步地,所述生成编译定制的依赖关系阶段包括:
10、(1)将用户选择定制的操作系统的应用、基础库(包括基础c库等)、init管理器、risc-v硬件,转化为编译属性,c库选择包含glibc和musl,init管理器选择包含:busybox、sysvinit、systemd,应用根据应用名称进行定制,risc-v硬件根据板卡的名称进行定制。
11、(2)系统通过脚本程序解析客户定制的应用、基础库(包括基础c库等)、init管理器、risc-v硬件对应的编译属性,生成定制的组件编译脚本,组件编译脚本包含要构建的任务。
12、(3)用户选择定制的操作系统的内核配置,与厂商的初始内核配置进行融合,将融合后生成的配置通过kconfigreader进行翻译,将kconfig由可变性模型转换为命题逻辑,picosat作为sat求解器来判断配置选项之间是否满足依赖关系,没有满足依赖关系的配置通过rangefix对配置选项进行依赖补全,生成满足依赖关系的最小内核配置。
13、进一步地,所述生成镜像阶段包括:
14、(1)根据只能让操作系统启动的镜像配方文件,此文件只包含系统启动的软件包,无额外的应用,去除此配方文件中默认的init管理器的和基础库(包括基础c库等)的设置,获得构建脚本模板。
15、(2)将生成的组件编译脚本、最小内核配置和构建脚本模板,按照任务的名称进行并操作,生成定制操作系统构建脚本,定制操作系统构建脚本通过脚本程序的解析生成定制的操作系统编译依赖树。
16、(3)根据编译依赖树进行编译,编译依赖树对所有构建任务进行排序和调度,最终生成定制的最小操作系统镜像。
17、一种面向risc-v aiot的高定制化操作系统构建系统,其包括:
18、生成定制编译依赖关系模块:根据用户提供的包含操作系统的应用、基础库(包括基础c库等)、init管理器、内核配置、risc-v硬件等多维度的操作系统定制清单,通过编译系统将清单中的应用、基础库(包括基础c库等)、init管理器、risc-v硬件等转化为编译属性,根据各组件编译属性生成组件编译脚本,同时,根据选定risc-v硬件的厂商初始内核配置项,融合内核选项定制项,检查内核配制选项的依赖关系,生成补全依赖关系的最小内核配置。
19、生成镜像模块:根据生成的组件编译脚本、最小内核配置和构建脚本模板,生成定制的操作系统编译依赖树,根据编译依赖树进行编译,生成定制的最小操作系统镜像。
20、与现有技术相比,本发明的积极效果为:
21、1)现有risc-v操作系统的定制工作集中在根据功能进行应用组件的定制,没自动补全应用需要的依赖,同时基础库(包括基础c库等)、init管理器和内核配置没有全部提供给用户进行定制,本发明提供多维选项给用户定制操作系统,同时自动补全需要的依赖,对同种功能的应用提供更细粒度的定制,可以支持更多的终端aiot场景中的应用。
22、2)现有操作系统的定制工作主要关注用户个性化信息的选择,强调操作系统构建过程简单、高效,没有考虑到aiot场景中资源受限的问题。本发明可以根据应用名称定制操作系统,同时基于构建脚本模板,生成定制的操作系统的最小编译依赖树,保证生成操作系统镜像最小,满足存储资源有限的aiot场景中的应用。
1.一种面向risc-v aiot的高定制化操作系统构建方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述将清单中的应用、基础库、init管理器、risc-v硬件转化为编译属性,其中基础库包括基础c库,基础库选择包含glibc和musl,init管理器选择包含busybox、sysvinit、systemd,应用根据应用名称进行定制,risc-v硬件根据板卡的名称进行定制。
3.根据权利要求1所述的方法,其特征在于,采用以下步骤生成所述组件编译脚本:
4.根据权利要求1所述的方法,其特征在于,采用以下步骤生成所述补全依赖关系的最小内核配置:
5.根据权利要求1所述的方法,其特征在于,采用以下步骤获得所述构建脚本模板:
6.根据权利要求1所述的方法,其特征在于,采用以下步骤生成所述编译依赖树:
7.根据权利要求1所述的方法,其特征在于,采用以下步骤生成所述最小操作系统镜像:
8.一种面向risc-v aiot的高定制化操作系统构建系统,其特征在于,包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。