一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持多种国产平台的内核测试方法及系统与流程

2022-11-14 16:02:09 来源:中国专利 TAG:


1.本专利申请属于内核测试技术领域,更具体地说,是涉及一种支持多种国产平台的内核测试方法及系统。


背景技术:

2.随着国产操作系统以及国产化设备的有序推进,基于国产化设备上进行国产操作系统的安装、测试、调试,应用场景就会更复杂,如何应对更复杂的场景,就是急需解决的问题。pxe技术发明最初,主要的应用场景就是大批量、大规模的操作系统安装和启动,如图1所示。
3.随着国产化技术越来越广的布局,国产化的生态日益完善,在此过程中,飞腾arm、龙芯、兆芯和海光的x86、申威架构等设备使用场景进一步扩大;各架构设备的批量生产、测试等过程和使用场景中,就对国产linux操作系统的安装过程的灵活性、稳定性提出了更高的要求。
4.现有的专利技术有如下缺点:
5.1.中国发明专利《一种物理主机的启动方法及系统》(专利号cn 107861761a),该专利是一种物理主机的启动方法及系统,主要步骤是:与物理主机通信连接的管理节点,通过pxe启动物理主机;块设备服务器将预先存放于存储器的虚拟主机镜像文件导出成第一块设备;管理节点远程访问所述物理主机,控制所述物理主机与所述第一块设备之间建立通信连接;所述管理节点将所述第一块设备的含有所述虚拟主机镜像文件的数据拷贝到所述物理主机的硬盘,并适应性修改,启动所述物理主机。
6.2.中国发明专利《一种自动部署操作系统的方法》(专利号cn106855819a),该专利是能远程、自动、批量安装操作系统的方法,主要步骤是:1)在主控端根据特定的ipmi服务端口扫描ip地址,然后通过dhcp服务为扫描出来的客户端分配地址;2)在服务端设置上传镜像;3)通过ipmi协议设置一次性生效的目标节点为pxe启动,并且重启目标节点;4)目标节点重启后开始执行客户端程序,并通过tftp协议从主控端远程下载系统镜像;5)镜像下载完成后,开始自动安装操作系统;6)主控端检查所有节点是否安装完成,通过远程获取操作系统上输出的ipmi地址来确认是否安装成功;7)若安装失败则返回步骤3;若安装成功则结束安装。此发明主要针对的是服务器,且需要支持ipmi协议。
7.3.中国发明专利《一种支持多种国产化操作系统的自动化部署方法与系统》(专利号cn 112230942 a),该专利能支持多种国产化操作系统的自动化部署方法,主要步骤是:1)使用一台机器作为部署机,除安装pxe服务器依赖的基础服务之外,还增加了distro服务、profile服务、image服务以及system服务;2)该服务模型识别不同cpu类型的国产化硬件服务器,发送指定操作系统的nbp启动文件;3)客户端根据此nbp引导文件下载对应操作系统的grub引导文件;4)按照grub引导文件加载虚拟内核以及对应的kickstart自动化配置模板文件,并从相应的软件源列表下载软件安装包,安装指定的操作系统。此发明主要针对的是iso的安装过程,解决操作系统的安装问题。
8.同时可以发现,现有的国产操作系统自动部署技术,主要是针对一批设备,采用同一个iso镜像文件版本进行升级,此方式存在以下几个问题:
9.1)对于有个性化要求的iso镜像文件升级,灵活度不足;比如在生产、调试、测试阶段,需要对不同架构,不同的设备同时进行操作系统自动部署等,现有技术无法满足使用要求。
10.2)对于只更改内核的iso镜像文件升级,批量升级,操作繁琐;如果只更新iso中的内核或者模块等,现有的技术需要手动更新对应的内核、模块等,操作繁琐。
11.3)对于修改grub参数的升级和启动,受限于固件;如果在升级过程中,需要调整grub中启动参数,配置串口、日志等,将受限于固件版本是否支持该功能,有很大的局限性。
12.4)对于在国产化平台上使用国产操作系统,加载initrd.img或者模块时,会受限于固件,部分固件对initrd.img的大小有限制,有一定局限性。这里的initrd.img是linux系统的内核文件。linux系统先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块,然后发现真正的root分区,如果没有initrd.img,内核就试图直接挂载root分区。
13.因此,为解决国产化平台的内核和系统测试的问题,需要有一种更方便、更利于维护的内核和系统升级解决方案和系统。


技术实现要素:

14.本发明需要解决的技术问题是提供一种支持多种国产平台的内核测试方法及系统,通过该方法及系统,可实现按照需要构建测试环境,包括需启动的内核、加载的模块、启动参数、核外操作系统等;该系统可对启动的内核执行测试,并对测试结果进行初步分析,及时测试结果反馈等,从而实现国产操作系统在国产化平台上的部署和测试工作。
15.为了解决上述问题,本发明所采用的技术方案是:
16.一种支持多种国产平台的内核测试方法,采用本系统服务制作pxe启动的nbp引导文件,如mips64-lennovo-10.efi,该nbp引导文件可将启动过程中grub文件的目录进行定制化处理,即根据用户需求自定义目录,并在目录处自动创建grub文件,同时修改dhcp服务的配置文件,指定系统nbp引导文件的下载路径;由系统服务定制修改grub文件的内容,对设备启动时需要的参数进行指定和配置;启动时需要的image和initrd.img,以及iso,可由系统服务来负责放置,设备按照要求的内核、启动参数、iso等完成启动过程;设备启动后,自动加载内核测试执行程序,执行测试并提交测试结果至服务端;由系统服务对测试结果做初步分析,并进行展示;最后由系统服务对将测试结果推送给相关人员。
17.具体的,本发明的公开的一种支持多种国产平台的内核测试方法,包括预处理过程、启动过程、测试过程;
18.预处理过程:首先在bios中确认pxe功能为已启用状态后,接着制作pxe启动的nbp引导文件,系统根据测试需求自动创建grub文件,从而对设备启动时需要的参数进行指定和配置;
19.启动过程:设备按照nbp引导文件的下载路径加载grub文件,启动预定的设备;
20.测试过程:设备启动后,自动加载内核测试执行程序,生成测试结果,对测试结果进行存储、分析、报告。
21.进一步,预处理过程包括makeefi服务、makegrub服务、schedule服务,步骤如下:
22.s1:makeefi服务,生成与设备的架构对应的nbp引导文件,并在nbp引导文件中指定grub文件要求的目录;同时将生成的nbp引导文件放置在dhcp服务对应的目录中,修改dhcp服务中的配置文件,以指定nbp引导文件的下载路径;
23.s2:makegrub服务,按照makeefi服务生成时grub文件要求的目录创建对应的grub文件,并按照测试需求对grub文件的内容进行修改,如指定内核镜像文件image和初始化文件initrd.img的加载目录及相关内核启动参数;
24.s3:schedule服务,按照写入grub文件的参数要求,在grub文件的相应目录放置初始化文件initrd.img、内核镜像文件image,以及对应的系统镜像文件iso。
25.进一步,为了控制各设备准确获取nbp引导文件及启动参数,并在设备启动后分配ip地址,如果是批量设备的升级或验证,在dhcp服务中设置对应参数;如果是单台设备的升级或验证,通过设置mac地址进行操作。
26.进一步,步骤s3中,还对初始化文件initrd.img文件进行裁剪,调整其大小,以适配硬件设备。
27.进一步,启动过程包括如下步骤:
28.s4:control服务,在步骤s3的schedule服务执行完毕后,启动设备,从dhcp服务中读取nbp引导文件;
29.s5:设备按照nbp引导文件的下载路径加载grub文件,并进行启动。
30.进一步,测试过程具体包括如下步骤:
31.s6:设备启动后,内核和/或核外系统加载完毕,即可执行既定的测试任务;
32.s7:测试任务执行完毕后,上送测试结果至后台数据库;
33.s8:analysis服务,负责对后台数据库中的测试结果做数据清洗和初步分析,并对测试结果进行展示;
34.s9:report服务,与analysis服务对应,负责将步骤s8中的测试结果发送至相应人员处理。
35.进一步,步骤s9中,测试结果通过外接平台发送至相应人员处理,外接平台包括但不限于邮件、qq、微信、短信的一种或多种。
36.进一步,国产平台包括兆芯、海光、龙芯、飞腾、申威的一种或多种。
37.此外还公开了一种支持多种国产平台的内核测试系统,用于实现上述方法,包括相应的各个模块,包括预处理模块、启动模块、测试模块,其中:
38.预处理模块,用于根据测试需求搭建需要的测试环境,包括依次信息相连的makeefi服务模块、makegrub服务模块、schedule服务模块,makeefi服务模块还信息连接dhcp服务模块,makegrub服务模块还信息连接tftp服务模块;
39.启动模块,包括control服务模块、测试设备模块,control服务模块与schedule服务模块、待测试的设备均信息连接;
40.测试模块,包括analysis服务模块、report服务模块,report服务模块与analysis服务模块信息连接,analysis服务模块还信息连接后台数据库、待测试的设备。
41.由于采用了上述技术方案,本发明取得的有益效果是:
42.(1)采用makeefi服务制作系统nbp引导文件,可解决国产平台不同架构的不同特
性,可定制设置加载的模块,以及启动目录,提升各国产平台的适应性。
43.(2)采用makegrub服务按照需求修改grub.cfg文件,可解决启动时加载的initrd.img和image以及启动命令、iso等参数,提升了国产操作系统内核测试的灵活性。
44.(3)schedule服务,按照写入grub的参数要求,在相应目录放置initrd.img和image,以及对应iso等,给系统启动提供支撑和调度。
45.(4)适用性,此部分内容在串口输入和网络输入的情况下实现效果明显,在多种国产架构下都可正常使用,可实时获取启动日志,测试日志,每天持续集成,测试效率提升80%以上,有效的提升了国产操作系统在国产化平台的内核测试效率。
46.(5)analysis服务,可将内核测试结果做初步分析,并将结果提交report服务,及时反馈相关人员。
附图说明
47.图1为本发明涉及到的pxe启动逻辑图;
48.图2为本发明方法的内核预处理和启动流程图;
49.图3为本发明方法的内核测试系统流程图;
50.图4为本发明系统的逻辑图。
具体实施方式
51.下面结合实施例对本发明做进一步详细说明。
52.首先介绍一下缩略语和关键术语:
53.pxe(preboot execution environment):预启动执行环境,使用网络启动计算机的机制,计算机的启动可不依赖本地数据硬盘或操作系统,而由网络从远端服务器下载操作系统,并由此进行操作系统启动/安装过程。
54.dhcp(dynamic host configuration protocol):动态主机配置协议,由服务器控制一段ip地址范围,客户机登录服务器时就可以自动获得服务器分配的ip地址和子网掩码。
55.tftp:(trivial file transfer protocol,简单文件传输协议)是tcp/ip协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
56.nbp(network bootstrap program):网络引导程序,nbp引导文件的主要作用是查找和装载指定的操作系统。
57.块设备:是指将信息存储在512字节或4kb的数据块中,每个块都有自己的地址,可以在设备的任意位置读取一定长度的数据。
58.iso:是一种光盘镜像文件,刻录软件可以直接把操作系统文件iso刻录成可安装的系统光盘,一般以.iso为扩展名。
59.bios(basic input output system):基本输入输出系统,是一组固化到计算机内主板上一个rom芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
60.本发明基于国产兆芯、海光、龙芯、飞腾、申威平台均可适用,大体设计思路是:采用本系统服务制作pxe启动的nbp引导文件,如mips64-lennovo-10.efi,该nbp引导文件可将启动过程中grub文件的目录进行定制化处理,即根据用户需求自定义目录,并在目录处自动创建grub文件,同时修改dhcp服务的配置文件,以指定系统nbp引导文件的下载路径;由系统服务定制修改grub文件的内容,对启动时需要的参数进行配置;启动时需要的image和initrd.img,以及iso,可由系统服务来负责放置,设备按照要求的内核、启动参数、iso等完成启动过程;设备启动后,自动加载内核测试执行程序,执行测试并提交测试结果至服务端;由系统服务对测试结果做初步分析,并进行展示;最后由系统服务对将测试结果推送给相关人员。
61.图4为本方案逻辑图,描述本系统的整体组成,主要过程包括预处理过程、启动过程、测试过程;在此过程中,各个系统模块及涉及的相关系统服务,如makeefi服务、makegrub服务等系统服务都是为实现系统功能所定义的服务名称。在预处理阶段,将根据用户需求搭建需要的测试环境,在环境准备完毕后,转至启动过程,启动预定的设备,进入测试过程,对测试结果进行存储、分析、报告等。
62.整体系统框架如图4所示,基于国产化设备和操作系统的安装和测试需求,将整个系统分为3个主要部分,分别用来对应预处理过程(s1~s3)、启动过程(s4~s5)、测试过程(s6~s9),实现了内核及操作系统的安装和启动,并在此过程中,由于多个服务对启动参数的定制化,如内核启动参数、启动文件的定制化等,极大的丰富了此方案的使用场景;同时由于外接硬件控制停上电以及对initrd.img的制作,减少了对固件的依赖,进一步提升了此方案的普适性;在内核启动时,对内核的测试日志做记录,并提交至后台,由数据分析模块做初步分析,并将分析后的测试结果,提交相关人员。
63.下面展开论述。
64.预处理过程:用于根据测试需求搭建需要的测试环境,首先在bios中确认pxe功能为已启用状态后,接着制作pxe启动的nbp引导文件,然后根据测试需求自定义grub文件要求的目录,在grub文件要求的目录处自动创建grub文件,并对设备启动时需要的参数进行指定和配置,比如下面将涉及到的修改dhcp服务的配置文件,指定nbp引导文件的下载路径,并定制修改grub文件的内容,对设备启动时需要的参数进行配置等。
65.这里需要说明,开始步骤之前,需要在bios中确认pxe功能是否已设置为已启用状态,只有在已启用状态才可实施。
66.启动过程:设备按照nbp引导文件的下载路径加载grub文件,启动预定的设备;
67.测试过程:设备启动后,自动加载内核测试执行程序,生成测试结果,对测试结果进行存储、分析、报告。
68.图2是本发明所述的一种支持多种国产平台的内核测试方法中,内核预处理 启动的流程图。
69.如图2所示,预处理过程包括makeefi服务、makegrub服务、schedule服务,步骤如下:
70.s1:makeefi服务,生成与设备的架构对应的nbp引导文件,并在nbp引导文件中指定grub文件要求的目录;同时将生成的nbp引导文件放置在dhcp服务对应的目录中,修改dhcp服务中的配置文件,以指定nbp引导文件的下载路径;
71.在此步骤s1中,为了控制各设备准确获取nbp引导文件及启动参数,并在设备启动后分配ip地址,如果是批量设备的升级或验证,在dhcp服务中设置对应参数,提升效率;如果是单台设备的升级或验证,通过设置mac地址进行操作。由makeefi服务生成对应的nbp引导文件,并将不同的架构的nbp引导文件,以制定好的规则放在不同的目录中,并将nbp引导文件的下载路径写入dhcp服务中,以此来兼容国产兆芯、海光、龙芯、飞腾、申威平台架构的设备。
72.s2:makegrub服务,按照makeefi服务生成时grub文件要求的目录创建对应的grub文件,也就是makegrub服务根据测试需求自动创建grub文件,并按照测试需求或用户需求对grub文件进行修改,如指定image和initrd.img文件的加载目录及相关内核启动参数;
73.s3:schedule服务,按照makegrub服务写入grub文件的参数要求,在相应目录放置初始化文件initrd.img、内核镜像文件image,以及对应的系统镜像文件iso等等。
74.makeefi服务、makegrub服务、schedule服务涉及到诸多目录,在此特别说明:
75.1、nbp引导文件的目录,是在dhcp服务中设置的目录。
76.2、grub文件的目录,是在制作nbp引导文件时,所指向的文件目录。
77.3、grub文件中,需要用到的initrd.img和image等文件,需要由schedule服务处理后,放在grub文件所描述的对应目录。也就是每个文件,都应该放在对应的目录下,相互之间有连接的。
78.或者,可以理解成:
79.第一步,先生成nbp引导文件,但这个nbp引导文件,在制作时,就要指定grub文件的目录,这样系统启动起来以后,就可以拉取nbp引导文件,然后解析nbp引导文件,读取grub文件的目录,再按照grub文件中目录的要求,去读取initrd和image,以及iso(由schedule服务负责放置)。
80.同时,nbp引导文件,在哪里读取,又是由dhcp服务决定的,他指定了某台机器设备去某目录去读取。
81.步骤s3的中schedule服务,还对初始化文件initrd.img文件进行裁剪,调整其大小,以适配硬件设备。由于在写入grub文件时,可设置启动的各项参数;但是不同的固件厂家对于initrd.img的大小有要求,因此,对于此类异常情况,需要制作适配固件的initrd.img文件,在不影响系统启动和测试的情况下,根据现有技术或常规技术对initrd.img文件进行裁剪,比如对加载的模块进行裁剪,在制作时可直接注释,从而调整initrd.img文件的大小,以适配硬件设备。
82.grub文件指定启动参数列举如下:
83.linux(tftp,192.168.1.2)/jobid/tftp/kernel/vmlinuz console=ttys0,115200loglevel=8audit=0netboot=nfs root=/dev/nfs nfsroot=192.168.1.2:/data/nfs/mips64-lennovo-10rw security=
84.1、指定需启动的vmlinuz文件的目录;
85.2、指定串口参数;
86.3、指定日志级别;
87.4、指定需启动的nfs目录;
88.5、指定安全相关参数;
89.initrd(tftp,192.168.1.2)/jobid/tftp/ramdisk/ramdisk.cpio.gz
90.1、指定initrd文件的目录,192.168.1.2为tftp服务ip地址。
91.dhcp服务
92.#mips-lenovopc-10
93.host kylin-lenovo-pc-10{#
‑‑‑‑
主机声明
94.hardware ethernet aa:bb:cc:dd:ee:ff;#
‑‑‑‑
指定其mac地址
95.fixed-address 192.168.1.10;#
‑‑‑‑
指定ip地址
96.filename"grub-efi/mips/mips-lenovopc-10.efi";#
‑‑‑‑
指定nbp引导文件目录。
97.}
98.启动过程包括如下步骤:
99.s4:control服务,在步骤s3的schedule服务执行完毕后,启动设备,从dhcp服务中读取nbp引导文件;现有的国产设备,在上电后启动,此功能需要固件厂家支持,因此,需要采用外设硬件控制设备启动过程。
100.s5:设备按照nbp引导文件的下载路径加载grub文件,并进行启动。
101.如图3所示,设备启动并加载操作系统后,实现了以下的测试过程:
102.s6:设备启动后,内核和/或核外系统加载完毕,即可执行既定的测试任务;在此步骤中,也可只启动内核,只针对内核进行测试,便于问题分析定位;
103.s7:测试执行完毕后,上送测试结果至后台存储库;而测试结果的存储,需要在分析脚本中提前处理,将测试结果统一成一种格式,便于后续统一处理;
104.s8:analysis服务,负责对后台数据库中的数据做数据清洗和初步分析,并对结果进行展示;
105.s9:report服务,负责将测试结果发送至相应人员处理;测试报告的推送,可对接各外接平台,如邮件、qq、微信、短信等。
106.除此之外,本发明还公开了一种支持多种国产平台的内核测试系统,用于实现上述的方法,该系统包括预处理模块、启动模块、测试模块,其中:
107.预处理模块,用于根据测试需求搭建需要的测试环境,包括依次信息相连的makeefi服务模块、makegrub服务模块、schedule服务模块,makeefi服务模块还信息连接dhcp服务模块,makegrub服务模块还信息连接tftp服务模块;
108.启动模块,包括control服务模块、测试设备模块,control服务模块与schedule服务模块、待测试的设备均信息连接;
109.测试模块,包括analysis服务模块、report服务模块,report服务模块与analysis服务模块信息连接,analysis服务模块还信息连接后台数据库、待测试的设备。
110.通过本发明的方法及系统,可实现按照需要构建测试环境,包括需启动的内核、加载的模块、启动参数、核外操作系统等;该系统可对启动的内核执行测试,并对测试结果进行初步分析,及时测试结果反馈等,从而实现国产操作系统在国产化平台上的部署和测试工作。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献