CN116643761A - 一种定制化镜像制作及部署方法、装置、终端及介质 - Google Patents

一种定制化镜像制作及部署方法、装置、终端及介质 Download PDF

Info

Publication number
CN116643761A
CN116643761A CN202310625957.4A CN202310625957A CN116643761A CN 116643761 A CN116643761 A CN 116643761A CN 202310625957 A CN202310625957 A CN 202310625957A CN 116643761 A CN116643761 A CN 116643761A
Authority
CN
China
Prior art keywords
kernel
customized
version
package manager
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310625957.4A
Other languages
English (en)
Inventor
赵凡
管彦广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310625957.4A priority Critical patent/CN116643761A/zh
Publication of CN116643761A publication Critical patent/CN116643761A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及操作系统镜像制作领域,具体涉及一种定制化镜像制作及部署方法、装置、终端及介质,基于开源软件项目实现,响应于用户需求选择操作系统版本、内核版本、判断是否增加定制的包管理器、内核驱动和操作命令;若是,则将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;将镜像文件部署到测试设备上;输出镜像文件。本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。

Description

一种定制化镜像制作及部署方法、装置、终端及介质
技术领域
本发明涉及操作系统镜像制作领域,具体涉及一种定制化镜像制作及部署方法、装置、终端及介质。
背景技术
在研发初期,存在硬件或固件的不断更新或bug修复阶段,在这个阶段需要借助不同的内核或操作系统进行问题定位或验证,此时镜像更新会比较频繁。当前,对镜像文件的制作一般是工作人员根据需求,找到相应的操作系统文件、内核文件、rpm包等,做成相应的文件,再根据制作的文件手动执行操作系统的镜像文件制作,这个过程耗费大量工作量。
现有技术公开的一种系统升级的代码编译方法,当检测到新的代码入库,识别出所述代码对应的第一组件;基于系统保存的基线镜像包,对所述第一组件和依赖于所述第一组件的第二组件进行组件编译,得到软件deb包;所述基线镜像包包括组件编译所需的编译信息;接收到用户输入的打包指令时,将所述deb包更新至所述基线镜像包,并基于更新后的基线镜像包打包得到新的系统镜像升级bin包。该方法对内核编译,能够实现分时编译组件,解决了集中编译耗时长的问题,在代码更新的同时实时进行组件编译,并在收到打包指令后,进行deb包替换和镜像包制作,避免了全部组件重新编译耗时较长的问题,保证了项目的开发效率。然而,该现有技术仅对内核编译进行了改进,并没有解决需要工作人员自行找到相应的操作系统文件、内核文件、rpm包等,造成工作量较大,降低工作效率的问题。
发明内容
为解决上述问题,本发明提供一种定制化镜像制作及部署方法、装置、终端及介质,基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
第一方面,本发明的技术方案提供一种定制化镜像制作及部署方法,基于开源软件项目实现,包括以下步骤:
响应于用户第一需求,选择操作系统版本;
响应于用户第二需求,选择内核版本;
响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令;
若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;
根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;
将镜像文件部署到测试设备上;
输出镜像文件。
在一个可选的实施方式中,选择操作系统版本之后,还包括以下步骤:
响应于用户第四需求,判断是否需要定制镜像;
若需要定制镜像,则响应于用户第二需求,选择内核版本;
若不需要定制镜像,则根据选择的操作系统版本,使用默认的内核版本、包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件。
在一个可选的实施方式中,响应于用户第二需求,选择内核版本之后,还包括以下步骤:
判断选择的内核版本是否在支持范围内;
若在支持范围内,则给出支持提示,并响应于用户第三需求,判断是否定制包管理器、内核驱动和操作命令;
若不在支持范围内,则给出不支持提示,并提供内核版本源码输入接口,以输入符合支持范围的内核版本源码;
将内核版本源码包进行编译获得内核包管理器;
将内核包管理器中的驱动编译包安装到操作系统中。
在一个可选的实施方式中,提供内核版本源码输入接口,具体包括:
提供下载接口,从开源网站下载符合支持范围的内核版本源码;
或提供上传接口,接收用户上传的内核版本源码。
在一个可选的实施方式中,判定增加定制的包管理器和内核驱动之后,还包括以下步骤:
判断增加的定制包管理器和内核驱动是否在支持列表;
若在支持列表,则直接修改定制的内核驱动的编译规则文件或包管理器的配置规范文件;
若不在支持列表,则接收用户上传包管理器源码和内核驱动源码,之后修改定制的内核驱动的编译规则文件或包管理器的配置规范文件。
在一个可选的实施方式中,该方法还包括以下步骤:
若判断无需增加定制的包管理器、内核驱动和操作命令,则根据选择的操作系统版本和内核版本,使用默认的包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件。
在一个可选的实施方式中,基于开源软件项目实现,在虚拟机上制作镜像文件之后,还包括以下步骤:
将生成的镜像文件安装在测试虚拟机上进行验证,检测对应的操作系统版本、内核版本、包管理器、内核驱动、操作命令是否全部正确;
若全部正确,则将镜像文件部署到测试设备上。
第二方面,本发明的技术方案提供一种定制化镜像制作及部署装置,包括,
系统版本选择模块:响应于用户第一需求,选择操作系统版本;
内核版本选择模块:响应于用户第二需求,选择内核版本;
定制参数判断模块:响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令;
文件修改模块:若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;
镜像文件制作模块:根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;
镜像文件部署模块:将镜像文件部署到测试设备上;
镜像文件输出模块:输出镜像文件。
第三方面,本发明的技术方案提供一种终端,包括:
存储器,用于存储定制化镜像制作及部署程序;
处理器,用于执行所述定制化镜像制作及部署程序时实现如上述任一项所述定制化镜像制作及部署方法的步骤。
第四方面,本发明的技术方案提供一种计算机可读存储介质,所述可读存储介质上存储有定制化镜像制作及部署程序,所述定制化镜像制作及部署程序被处理器执行时实现如上述任一项所述定制化镜像制作及部署方法的步骤。
本发明提供的一种定制化镜像制作及部署方法、装置、终端及介质,相对于现有技术,具有以下有益效果:基于开源软件项目,根据用户需求选择操作系统版本和内核版本,在增加定制参数时自动编译参数,根据用户选择的操作系统版本、内核版本和定制参数自动进行镜像文件的制作和部署。本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一个实施例提供的一种定制化镜像制作及部署方法流程示意图。
图2是本发明第二个实施例提供的一种定制化镜像制作及部署方法流程示意图。
图3是本发明提供的一种定制化镜像制作及部署方法的一具体实施例的流程示意图。
图4是本发明实施例提供的一种定制化镜像制作及部署装置结构示意框图。
图5是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
Jenkins:开源软件项目。
rpm包:RedhatLinuxPacketManager,Redhat的包管理器。
centos7/centos8/kylinV10/KOS:操作系统版本,CentOS、麒麟、服务器操作系统KOS。
kernel-xxx.rpm、kernel-headers-xxx.rpm、kernel-devel-xxx.rpm :内核rpm包。
kernel-devel-xxx.rpm:内核相关rpm包,安装后支持驱动在对应内核版本上编译。
图1是本发明第一个实施例提供的一种定制化镜像制作及部署方法流程示意图,其中,图1执行主体可以为一种定制化镜像制作及部署装置。本发明实施例提供的定制化镜像制作及部署由计算机设备执行,相应地,定制化镜像制作及部署装置运行于计算机设备中。根据不同的需求,图1所示流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括以下步骤。需要说明的是,该方法基于开源软件项目实现。
S1,响应于用户第一需求,选择操作系统版本。
用户发出第一需求,接收用户的第一需求,第一需求中携带需要选择的操作系统版本标识,根据该操作系统版本标识自动选择出操作系统版本。
S2,响应于用户第二需求,选择内核版本。
选择完操作系统版本后,用户发出第二需求,接收用户的第二需求,第二需求中携带需要选择的内核版本标识,根据该内核版本标识自动选择出内核版本。
S3,响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令。
用户发出第三需求,接收第三需求,第三需求中携带是否增加定制信息的标识,根据该是否增加定制信息的标识判定是否增加定制信息的标识的结果。
S4,若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动。
如果需要增加定制信息,则根据前一步选择的内核版本,修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,并重新编译包管理器和内核驱动。
S5,根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件。
开源软件项目自动根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件。
S6,将镜像文件部署到测试设备上。
S7,输出镜像文件。
镜像文件制作完成之后,自动将制作的镜像文件在测试设备上部署,并输出制作的镜像文件。
本发明实施例提供的定制化镜像制作及部署方法,基于开源软件项目,根据用户需求选择操作系统版本和内核版本,在增加定制参数时自动编译参数,根据用户选择的操作系统版本、内核版本和定制参数自动进行镜像文件的制作和部署。本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
图2是本发明第二个实施例提供的一种定制化镜像制作及部署方法流程示意图,其中,图2执行主体可以为一种定制化镜像制作及部署装置。本发明实施例提供的定制化镜像制作及部署由计算机设备执行,相应地,定制化镜像制作及部署装置运行于计算机设备中。根据不同的需求,图2所示流程图中步骤的顺序可以改变,某些可以省略。
如图2所示,该方法包括以下步骤。需要说明的是,该方法基于开源软件项目实现。
S1,响应于用户第一需求,选择操作系统版本。
接收用户发出的第一需求,第一需求中携带需要选择的操作系统版本标识,根据该操作系统版本标识自动选择出操作系统版本。
S2,响应于用户第四需求,判断是否需要定制镜像,若需要定制镜像,则执行步骤S3,若不需要定制镜像,则执行步骤S14。
可以理解的是,在实际情况中,用户当前不需要定制镜像,则使用默认的内核和信息进行镜像制作。如果需要定制镜像,则再选择内核版本等。
S3,响应于用户第二需求,选择内核版本。
在用户需要定制镜像时,接收用户的第二需求,第二需求中携带需要选择的内核版本标识,根据该内核版本标识自动选择出内核版本。
S4,判断选择的内核版本是否在支持范围内。
S5,若在支持范围内,则给出支持提示,并执行步骤S8。
S6,若不在支持范围内,则给出不支持提示,并提供内核版本源码输入接口,以输入符合支持范围的内核版本源码。
需要说明的是,提供的内核版本源码输入接口可以是下载接口也可是是上传接口:提供下载接口,从开源网站下载符合支持范围的内核版本源码;或提供上传接口,接收用户上传的内核版本源码。
S7,将内核版本源码包进行编译获得内核包管理器,将内核包管理器中的驱动编译包安装到操作系统中。
S8,响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令,若是则执行步骤S9,否则执行步骤S13。
接收用户发出的第三需求,第三需求中携带是否增加定制信息的标识,根据该是否增加定制信息的标识判定是否增加定制信息的标识的结果。
S9,判断增加的定制包管理器和内核驱动是否在支持列表,若在则执行步骤S11,否则执行步骤S10。
S10,接收用户上传包管理器源码和内核驱动源码,之后修改定制的内核驱动的编译规则文件或包管理器的配置规范文件。
S11,修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动。
如果需要增加定制信息,则根据前一步选择的内核版本,修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,并重新编译包管理器和内核驱动。
S12,根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件,并执行步骤S15。
定制镜像文件下,使用选择操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令进行镜像文件的制作。
S13,根据选择的操作系统版本和内核版本,使用默认的包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件,执行步骤S15。
如果不需要增加定制信息,则根据选择选择的内核版本,使用默认的包管理器、内核驱动、操作命令进行镜像文件的制作。
S14,根据选择的操作系统版本,使用默认的内核版本、包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件,执行步骤S15。
在不需要定制镜像文件时,直接使用默认的内核版本、包管理器、内核驱动、操作命令进行镜像文件的制作。
S15,将生成的镜像文件安装在测试虚拟机上进行验证,检测对应的操作系统版本、内核版本、包管理器、内核驱动、操作命令是否全部正确。
S16,若全部正确,则将镜像文件部署到测试设备上。
需要说明的是,如果存在错误,则可以给出错误提示,要求重新进行镜像文件的制作。
S17,输出镜像文件。
本发明实施例提供的定制化镜像制作及部署方法,基于开源软件项目,根据用户需求选择操作系统版本和内核版本,在增加定制参数时自动编译参数,根据用户选择的操作系统版本、内核版本和定制参数自动进行镜像文件的制作和部署。本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
为进一步理解本发明,以下提供一具体实施例对本发明进一步详细说明,图3是该具体实施例流程示意图,该具体实施例基于jenkins供用户根据需求选择需要定制的系统镜像,并实现自动化部署;其中对于内核的定制,用户可选择需要部署的操作系统版本及内核版本,由jenkins判断该版本是否支持,若不支持则Jenkins提供接口从开源网站下载或用户上传的方式实现将内核源码编译成对应内核的rpm包,并将kernel-devel包安装到系统,以便于不升级内核便可实现在用户期待的内核上对rpm包或驱动的编译;对于rpm包、驱动的定制,同样由jenkins判断是否支持,若不支持,提供接口由用户上传源码实现rpm包及驱动的定制;对于定制镜像正确性的验证,提供虚拟机安装定制生成的镜像,并在安装完成后对定制镜像的正确性镜像验证。通过本发明提供的镜像自动制作及部署流程,满足了研发人员对不同系统镜像自动化制作的要求,保证了定制镜像的正确性,提高了测试的自动化程度,减少了人工制作部署的流程。
如图3所示,该具体实施例包括以下步骤。
S1,用户根据需求在jenkins界面选择操作系统版本。
S2,选择是否需要定制镜像,若不需要则跳转到步骤S11,若选择定制镜像则跳转到S3。
S3,定制镜像时用户根据需求选择内核版本,若所选内核版本在支持范围内则跳转到步骤S6;若所选内核版本不在支持范围内,则跳转到S4。
后续根据用户选择的操作系统在对应的虚拟机上进行本次镜像制作流程。
S4,所选内核不在支持范围内,jenkins提供接口用于选择从开源网站下载对应内核版本源码或用户直接上传对应内核版本的源码到Jenkins。
S5,将内核源码包编译成内核的rpm包,得到kernel-xxx.rpm、kernel-headers-xxx.rpm、kernel-devel-xxx.rpm,并将生成的kernel-devel-xxx.rpm包安装到系统中。
S6,用户根据需求选择是否要定制rpm包、驱动、个人定制的其他一些命令;若不需要则跳转到S11,若需要则跳转到S7;若已执行步骤S4,则必须执行步骤S7。
S7,判断当前环境中是否支持用户自定义的驱动或rpm包;若支持则跳转到S9;若不支持则跳转到步骤S8。
S8,用户将对应的rpm包源码或驱动源码上传至Jenkins上。
S9, 修改对应内核驱动的makefile文件或编译rpm包用到的spec文件,将编译用到的内核修改为用户预期的内核版本,并编译驱动及rpm包;最后将得到的驱动、rpm包添加到对应的文件夹中。
S10,判断是否有新增特殊命令,若没有则使用默认命令进行测试;若有则将特殊命令添加到对应文件中。
S11,制作系统镜像。
S12,将定制的镜像安装在虚拟机上进行验证,并检查对应的操作系统版本、内核版本、驱动、rpm包、命令行的应全部正确。
S13,根据用户选择是否需要将新制作的镜像部署到测试设备上;若否,则跳转到步骤S15;若需要则跳转到步骤S14。
S14,使用新定制的镜像在用户指定的设备上部署安装镜像;
S15,输出镜像,提示用户已完成,退出。
上文中对于一种定制化镜像制作及部署方法的实施例进行了详细描述,基于上述实施例描述的定制化镜像制作及部署方法,本发明实施例还提供了一种与该方法对应的定制化镜像制作及部署装置。
图4是本发明实施例提供的一种定制化镜像制作及部署装置结构示意图,定制化镜像制作及部署装置400根据其所执行的功能,可以被划分为多个功能模块,如图4所示,所述功能模块可以包括:系统版本选择模块410、定制判断模块420、内核版本选择模块430、内核版本支持判断模块440、定制参数判断模块450、文件修改模块460、镜像文件制作模块470、镜像文件部署模块480、镜像文件输出模块490。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
系统版本选择模块410:响应于用户第一需求,选择操作系统版本。
内核版本选择模块430:响应于用户第二需求,选择内核版本。
定制参数判断模块450:响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令。
文件修改模块460:若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动。
镜像文件制作模块470:根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件。
镜像文件部署模块480:将镜像文件部署到测试设备上。
镜像文件输出模块490:输出镜像文件。
在一个可选的实施方式中,装置400还包括定制判断模块420:配置用于响应于用户第四需求,判断是否需要定制镜像,若是,则触发内核版本选择模块430执行响应于用户第二需求,选择内核版本,若否,则触发镜像文件制作模块470执行根据选择的操作系统版本,使用默认的内核版本、包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件。
在一个可选的实施方式中,装置400还包括内核版本支持判断模块440,配置用于判断选择的内核版本是否在支持范围内,若在,则给出支持提示,并触发定制参数判断模块450执行,若不在支持范围内,则给出不支持提示,并提供内核版本源码输入接口,以输入符合支持范围的内核版本源码,将内核版本源码包进行编译获得内核包管理器,将内核包管理器中的驱动编译包安装到操作系统中。
在一个可选的实施方式中,提供内核版本源码输入接口,具体包括:提供下载接口,从开源网站下载符合支持范围的内核版本源码;或提供上传接口,接收用户上传的内核版本源码。
在一个可选的实施方式中,文件修改模块460还配置用于判断增加的定制包管理器和内核驱动是否在支持列表,若在支持列表,则直接修改定制的内核驱动的编译规则文件或包管理器的配置规范文件;若不在支持列表,则接收用户上传包管理器源码和内核驱动源码,之后修改定制的内核驱动的编译规则文件或包管理器的配置规范文件。
在一个可选的实施方式中,定制参数判断模块450还配置用于若判断无需增加定制的包管理器、内核驱动和操作命令,则触发镜像文件制作模块470根据选择的操作系统版本和内核版本,使用默认的包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件。
在一个可选的实施方式中,镜像文件部署模块480还配置用于将生成的镜像文件安装在测试虚拟机上进行验证,检测对应的操作系统版本、内核版本、包管理器、内核驱动、操作命令是否全部正确;若全部正确,则将镜像文件部署到测试设备上。
本发明实施例提供的定制化镜像制作及部署装置,基于开源软件项目,根据用户需求选择操作系统版本和内核版本,在增加定制参数时自动编译参数,根据用户选择的操作系统版本、内核版本和定制参数自动进行镜像文件的制作和部署。本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
图5为本发明实施例提供的一种终端500的结构示意图,包括:处理器510、存储器520及通信单元530。所述处理器510用于实现存储器520中保存的定制化镜像制作及部署程序时实现以下步骤:
响应于用户第一需求,选择操作系统版本;
响应于用户第二需求,选择内核版本;
响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令;
若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;
根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;
将镜像文件部署到测试设备上;
输出镜像文件。
本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
该终端500包括处理器510、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器520可以用于存储处理器510的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器510执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。
处理器510为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器510可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,这里所说的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random accessmemory,简称:RAM)等。
计算机存储介质存储有定制化镜像制作及部署程序,所述定制化镜像制作及部署程序被处理器执行时实现以下步骤:
响应于用户第一需求,选择操作系统版本;
响应于用户第二需求,选择内核版本;
响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令;
若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;
根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;
将镜像文件部署到测试设备上;
输出镜像文件。
本发明基于开源软件项目根据需求定制系统镜像并部署到测试设备,减少了研发初期间人工制作及部署镜像的工作任务,进而提高工作效率及定制镜像的正确性,缩短了开发阶段的周期。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (10)

1.一种定制化镜像制作及部署方法,其特征在于,基于开源软件项目实现,包括以下步骤:
响应于用户第一需求,选择操作系统版本;
响应于用户第二需求,选择内核版本;
响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令;
若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;
根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;
将镜像文件部署到测试设备上;
输出镜像文件。
2.根据权利要求1所述的定制化镜像制作及部署方法,其特征在于,选择操作系统版本之后,还包括以下步骤:
响应于用户第四需求,判断是否需要定制镜像;
若需要定制镜像,则响应于用户第二需求,选择内核版本;
若不需要定制镜像,则根据选择的操作系统版本,使用默认的内核版本、包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件。
3.根据权利要求2所述的定制化镜像制作及部署方法,其特征在于,响应于用户第二需求,选择内核版本之后,还包括以下步骤:
判断选择的内核版本是否在支持范围内;
若在支持范围内,则给出支持提示,并响应于用户第三需求,判断是否定制包管理器、内核驱动和操作命令;
若不在支持范围内,则给出不支持提示,并提供内核版本源码输入接口,以输入符合支持范围的内核版本源码;
将内核版本源码包进行编译获得内核包管理器;
将内核包管理器中的驱动编译包安装到操作系统中。
4.根据权利要求3所述的定制化镜像制作及部署方法,其特征在于,提供内核版本源码输入接口,具体包括:
提供下载接口,从开源网站下载符合支持范围的内核版本源码;
或提供上传接口,接收用户上传的内核版本源码。
5.根据权利要求4所述的定制化镜像制作及部署方法,其特征在于,判定增加定制的包管理器和内核驱动之后,还包括以下步骤:
判断增加的定制包管理器和内核驱动是否在支持列表;
若在支持列表,则直接修改定制的内核驱动的编译规则文件或包管理器的配置规范文件;
若不在支持列表,则接收用户上传包管理器源码和内核驱动源码,之后修改定制的内核驱动的编译规则文件或包管理器的配置规范文件。
6.根据权利要求5所述的定制化镜像制作及部署方法,其特征在于,该方法还包括以下步骤:
若判断无需增加定制的包管理器、内核驱动和操作命令,则根据选择的操作系统版本和内核版本,使用默认的包管理器、内核驱动、操作命令,在虚拟机上制作镜像文件。
7.根据权利要求6所述的定制化镜像制作及部署方法,其特征在于,基于开源软件项目实现,在虚拟机上制作镜像文件之后,还包括以下步骤:
将生成的镜像文件安装在测试虚拟机上进行验证,检测对应的操作系统版本、内核版本、包管理器、内核驱动、操作命令是否全部正确;
若全部正确,则将镜像文件部署到测试设备上。
8.一种定制化镜像制作及部署装置,其特征在于,包括,
系统版本选择模块:响应于用户第一需求,选择操作系统版本;
内核版本选择模块:响应于用户第二需求,选择内核版本;
定制参数判断模块:响应于用户第三需求,判断是否增加定制的包管理器、内核驱动和操作命令;
文件修改模块:若是,则修改定制的内核驱动的编译规则文件或包管理器的配置规范文件,将编译用到的内核修改为用户预期的内核版本并重新编译包管理器和内核驱动;
镜像文件制作模块:根据选择的操作系统版本、内核版本、重新编译的包管理器和内核驱动、以及操作命令,在虚拟机上制作镜像文件;
镜像文件部署模块:将镜像文件部署到测试设备上;
镜像文件输出模块:输出镜像文件。
9.一种终端,其特征在于,包括:
存储器,用于存储定制化镜像制作及部署程序;
处理器,用于执行所述定制化镜像制作及部署程序时实现如权利要求1-7任一项所述定制化镜像制作及部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有定制化镜像制作及部署程序,所述定制化镜像制作及部署程序被处理器执行时实现如权利要求1-7任一项所述定制化镜像制作及部署方法的步骤。
CN202310625957.4A 2023-05-30 2023-05-30 一种定制化镜像制作及部署方法、装置、终端及介质 Pending CN116643761A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310625957.4A CN116643761A (zh) 2023-05-30 2023-05-30 一种定制化镜像制作及部署方法、装置、终端及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310625957.4A CN116643761A (zh) 2023-05-30 2023-05-30 一种定制化镜像制作及部署方法、装置、终端及介质

Publications (1)

Publication Number Publication Date
CN116643761A true CN116643761A (zh) 2023-08-25

Family

ID=87643059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310625957.4A Pending CN116643761A (zh) 2023-05-30 2023-05-30 一种定制化镜像制作及部署方法、装置、终端及介质

Country Status (1)

Country Link
CN (1) CN116643761A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648110A (zh) * 2024-01-29 2024-03-05 麒麟软件有限公司 一种脱离aosp编译环境单独打包内核镜像的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648110A (zh) * 2024-01-29 2024-03-05 麒麟软件有限公司 一种脱离aosp编译环境单独打包内核镜像的方法

Similar Documents

Publication Publication Date Title
US6598223B1 (en) Method and system for installing and testing build-to-order components in a defined configuration computer system
EP2932374B1 (en) Systems, methods, and computer program products for a software build and load process using a compilation and deployment service
US20070169114A1 (en) Application suite installer with automatic detection of content and configurable options
US9213534B2 (en) Method for restoring software applications on desktop computers
CN108847950B (zh) 电子装置、云系统软件自动部署方法及存储介质
CN108614701B (zh) 一种Linux操作系统定制方法及装置
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
CN109324799A (zh) 一种代码编译方法、计算机装置及计算机可读存储介质
CN112799716A (zh) 一种代码管理方法及系统
CN105389187B (zh) 一种系统更新的方法
CN116643761A (zh) 一种定制化镜像制作及部署方法、装置、终端及介质
CN111736910A (zh) 基于自助设备的外部设备控制方法、装置及计算机设备
CN110399151A (zh) 一种固件更新方法、装置、设备及介质
CN112631915B (zh) 一种pcie设备软件仿真的方法、系统、设备及介质
CN107678969B (zh) 测试版本发布方法、装置、版本控制设备和测试机
CN116303099B (zh) 自动化测试环境跨平台快速部署方法、装置、介质及设备
US11023220B2 (en) Firmware update with integrated smart sequence and action engine
CN114546819A (zh) 代码处理方法、装置、电子设备及可读介质
CN112596751B (zh) 应用程序安装包的编译方法、终端、服务器及存储介质
CN114924772A (zh) 一种算法包的更新方法及设备
CN114297088A (zh) 前端vue框架组件的测试方法、装置、设备及介质
CN113760244A (zh) 一种基于c语言方式实现多入口多接口的方法及系统
CN114564230B (zh) 鸿蒙系统的一键上传实现方法、装置、电子设备及介质
US20240168732A1 (en) Method for generating driver package, method for deploying driver, electronic device, and computer readable storage medium
CN112181450A (zh) 处理业务请求的方法、装置、服务器以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination