CN113064607A - 一种操作系统的安装方法、计算设备及存储介质 - Google Patents
一种操作系统的安装方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113064607A CN113064607A CN202110614020.8A CN202110614020A CN113064607A CN 113064607 A CN113064607 A CN 113064607A CN 202110614020 A CN202110614020 A CN 202110614020A CN 113064607 A CN113064607 A CN 113064607A
- Authority
- CN
- China
- Prior art keywords
- operating system
- file
- configuration file
- installation
- program
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000009434 installation Methods 0.000 title claims abstract description 43
- 230000001960 triggered effect Effects 0.000 claims abstract description 6
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 65
- 238000004891 communication Methods 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种操作系统的安装方法、计算设备及存储介质,操作系统的安装方法在计算设备中执行,该方法包括:在操作系统的安装程序源码文件中设置多个第一对象;生成配置文件,配置文件包括与预设功能相关的至少一个第二对象;对第二对象进行预处理,以使得第二对象与第一对象相关联;在运行安装程序时,若触发第一对象,则执行与第一对象关联的第二对象对应的预设功能。
Description
技术领域
本发明涉及互联网领域,具体涉及一种操作系统的安装方法、计算设备及存储介质。
背景技术
操作系统的安装程序,都是固定编码的程序。当需要定制化安装操作系统时,通常需要修改安装程序代码层,并重新编译安装程序。这种方式存在以下问题:修改安装程序代码需要项目开发人员二次开发,耗时耗力;二次开发会破坏主体代码,留下安全隐患;对工作人员的要求较高,一般的运维工作人员或用户无法进行修改。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种操作系统的安装方法、计算设备以及存储介质。
根据本发明的一个方面,提供一种操作系统的安装方法,在计算设备中执行,该方法包括:在操作系统的安装程序源码文件中设置多个第一对象;生成配置文件,配置文件包括与预设功能相关的至少一个第二对象;对第二对象进行预处理,以使得第二对象与第一对象相关联;在运行安装程序时,若触发第一对象,则执行与第一对象关联的第二对象对应的预设功能。
可选地,在根据本发明的操作系统安装方法中,在操作系统的安装程序源码文件中设置多个第一对象的步骤包括:获取安装程序源码文件中所有的执行函数;标记每一执行函数的起止时刻位置;在标记的起止时刻位置中的至少一个位置设置第一对象。
可选地,在根据本发明的操作系统安装方法中,对第二对象进行预处理,以使得第二对象与第一对象相关联的步骤包括:获取第一对象的声明规则;基于声明规则在第二对象中写入相应的关键词,以实现第一对象与第二对象之间的通信。
可选地,在根据本发明的操作系统安装方法中,在运行安装程序时,若触发第一对象,则执行与第一对象关联的第二对象对应的预设功能的步骤包括:安装程序调用第一对象,通过第一对象解析配置文件;安装程序基于配置文件回传的标识参数,执行配置文件中对应的第二对象的预设功能。
可选地,在根据本发明的操作系统安装方法中,还包括步骤:利用镜像打包工具,将配置文件与安装程序源码文件进行一体打包。
可选地,在根据本发明的操作系统安装方法中,关键词包括:执行第二对象的触发信息和执行顺序信息。
可选地,在根据本发明的操作系统安装方法中,预设功能至少包括以下中的一个或多个:加载硬盘驱动、升级内核、补丁修复、个性化配置和调试程序。
可选地,根据本发明的操作系统安装方法,配置文件还包括:实现第二对象的预设功能的相关文件;相关文件包括驱动文件、安全文件和软件包。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
根据本发明的方案,通过在操作系统的安装程序中设置钩子函数,编写配置文件,安装程序通过回调钩子函数,实现对操作系统的定制化设计,从而避免直接修改安装程序,提供了更易用、稳定的定制化方法,降低定制化安装的技术难度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的操作系统的安装方法200的流程图;
图3示出了根据本发明一个实施例的操作系统安装方法的时序进行图;
图4示出了根据本发明一个实施例的配置文件与安装程序源码文件进行打包的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
操作系统厂商发布的用于安装操作系统(OS)的ISO镜像文件,只能按照既定程序安装系统,安装顺序一般为:设置语言、添加用户、分区格式化磁盘、安装既定业务场景(如web、数据库、虚拟化等)的软件、安装引导程序和重启。如果需要对操作系统进行定制化安装(例如,在安装程序启动前插入特定硬盘的驱动),需要修改安装程序的代码,最后重新编译打包ISO。这种方式只适合于开发人员,并且要求开发人员有相关的项目经验和开发技能,并且,在调试过程中也可能会耗费大量时间,容易破坏安装程序主体代码,带来安全隐患。
需要说明的是,.iso是电脑上光盘镜像(CD Mirror)的存储格式之一,因为其是根据ISO-9660有关CD-ROM文件系统标准存储的文件,所以通常在电脑中以后缀.iso命名,俗称iso镜像文件。它形式上只有一个文件,可以真实反映光盘的内容,可由刻录软件或者镜像文件制作工具创建,ISO-9660是一个由国际标准化组织(ISO)为光盘介质发布的文件系统。其目标是能够在不同的操作系统如Windows、Mac OS以及类Unix系统上交换数据在os部署中过程中,安装程序负责对os的安装。
为解决上述现有技术中存在的问题,提出本发明的方案。本发明的一个实施例提供了一种操作系统的安装方法,该操作系统的安装方法可以在计算设备中执行。图1示出了根据本发明一个实施例的计算设备100的结构图。如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。应用122实际上是多条程序指令,其用于指示处理器104执行相应的操作。在一些实施方式中,在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
在计算设备100启动运行时,处理器104会从系统存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至系统存储器106中,处理器104从系统存储器106中读取并执行应用122的程序指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100还包括与总线/接口控制器130相连的储存接口总线134。储存接口总线134与储存设备132相连,储存设备132适于进行数据存储。示例的储存设备132可以包括可移除储存器136(例如CD、DVD、U盘、可移动硬盘等)和不可移除储存器138(例如硬盘驱动器HDD等)。
在根据本发明的计算设备100中,应用122包括执行方法200的多条程序指令。
图2示出了根据本发明一个实施例的操作系统的方法200的流程图。方法200适于在计算设备(例如前述计算设备100)中执行。
如图3所示,方法200的目的是实现一种操作系统的安装方法,始于步骤S202,在步骤S202中,在操作系统的安装程序源码文件中设置多个第一对象。安装程序是由一些特定功能的组件组成,它们完成各自的安装任务。每一组件执行任务时,会询问一些任务相关的问题。每个任务又有各自的优先级。安装程序源码文件为ISO镜像系统文件。第一对象为回调函数,优选地为钩子函数。钩子(Hook)函数是指通过拦截软件模块间的函数调用、消息传递、事件传递来修改或扩展操作系统、应用程序或其他软件组件的行为的一种技术。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
容易理解的是,程序是由一系列的机器指令组成的,指令就是计算机执行某种操作的命令,换言之,程序是由一系列可执行函数(或代码)组成。应当注意的是,在程序的源码文件中设置钩子函数时,一般是将钩子函数设置在某个可执行函数开始之前或者结束之后的位置。
具体地,在一些是实施例中,步骤S202包括以下子步骤:
S222、获取安装程序源码文件中所有的执行函数。
S242、标记每一执行函数的起止时刻位置。
S262、在标记的起止时刻位置中的至少一个位置设置第一对象。
在一个具体示例中,参考如下钩子函数(第一对象)的设定:
def install_software(self):
from pyanaconda.install_software import RepoData
hook(REPOSITROY, PRE)
for add_repo in self.additional_repos:
name, repo_url = self._get_additional_repo_name(add_repo)try:
source = SourceFactory.parse_repo_cmdline_string(repo_url)
except PayloadSourceTypeUnrecognized:
log.error("Type for additional repository %s is notrecognized!", add_repo)
return
repo = RepoData(name=name, baseurl=repo_url, install=False)
...
hook(REPOSITROY, POST)
上述代码为安装程序中,软件包安装的实现函数。在该函数执行主体代码之前和主体代码后,进行hook函数的调用。
上述步骤实现了将安装程序最大程度碎片化,并在碎片化后的程序中提供hook(钩子)入口,为操作系统的定制化安装提供了基础,避免在对操作系统的定制化安装时,直接修改安装程序。
在步骤S204中,生成配置文件,配置文件包括与预设功能相关的至少一个第二对象(具备功能动作的函数或代码)。预设功能可包括加载硬盘驱动、升级内核、补丁修复、个性化配置和调试程序。
需要说明的是,配置文件是根据需要的定制化内容创建的,例如,需要在安装程序之前,加载硬盘驱动,则需要在配置文件中写入与加载硬盘驱动相关的函数或代码;用户需要对第二个磁盘能行定制化安装,需要在配置文件中写入与定制化安装相关的函数或代码;需要升级镜像中的内核等,需要在配置文件中写入与升级镜像内核相关的函数或代码。用户根据需要进行的功能动作,撰写相应的函数或代码在配置文件中。
另外,配置文件还包括:实现预设功能的相关文件,相关文件包括驱动文件、安全文件和软件包等。
需要说明的是,一个配置文件中可包括多个第二对象,每个第二对象可完成至少一个预设功能。
在步骤S206中,对第二对象进行预处理,以使得第二对象与第一对象相关联。容易理解的是,要执行第二对象的预设功能,需要将第一对象与第二对象形成关联。具体地,获取第一对象的声明规则;基于声明规则在第二对象中写入相应的关键词,以实现第一对象与第二对象之间的通信。其中,关键词中包括的内容为:执行第二对象的触发信息和执行顺序信息。
第一对象(钩子函数)的声明规则(手册)即第一对象运行、运作规律所遵循的法则,一般由开发人员进行声明,在此不再赘述。
在一个具体示例中,提供一个进过预处理后的配置文件中第二对象的具体函数及代码:
#安装前加载raid驱动
%start @pre
insmod ${HOOK}/x3650_md.ko
#格式化分区后,对第二个磁盘格式化分区
%parted @post
${HOOK}/parted_fs.sh /dev/sdb
#更新内核,修复原有镜像bug
%pkg-install @post
rpm -ivh --force ${HOOK}/kernel-core.rpm
%reboot @post
ext4_strace_time.py > ${MNT}/var/log/strace_time.log
其中(%start @pre) (%parted @post) (%pkg-install @pos) (%reboot @post)为第二对象的关键词,对于(%start @pre)这一关键词而言,%start表示安装程序开始点,@pre表示在关键点之前。
在步骤S208中,在运行安装程序时,若触发第一对象,则执行与第一对象关联的第二对象对应的预设功能。
具体地,安装程序调用第一对象,通过第一对象解析配置文件;安装程序基于配置文件回传的标识参数,执行配置文件中对应的第二对象的预设功能。
在一个具体示例中,参考图3,图3示出实现本发明操作系统安装方法的时序进行图。本示例中将安装程序分为3个阶段,即在安装程序中写入了4个钩子函数(第一对象),分别为在分区结束后、格式化分区结束后、安装系统软件结束后及安装其他关键点(kenel、ramfs、grub安装等)之后。如图3所示,BIOS(固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息)上电后,grub(多重操作系统启动管理器。用来引导不同系统,如windows,linux)加载完initrd(根文件系统)和kernel(实时操作系统),开始进入安装程序,安装程序解析配置文件,安装程序在4个关键点前后调用hook,通过hook解析配置文件,并根据传入的hook的标识,执行配置文件 里的自定义动作,从而完成对系统的关键点的定制化安装。最后系统重启,完成安装。
另外,该操作系统的安装方法还可包括:
利用镜像打包工具,将配置文件与所述安装程序源码文件进行一体打包。
在一个具体示例中,对本发明提供的操作系统的安装方法的具体操作进行举例说明:
假设在某特定场景下要实现下面几个定制化安装:
1)因为ibm的硬盘需要在特殊驱动才能识别,需要在安装程序开始前,加载硬盘驱动(x3650_md.ko)。
2)用户希望对第二个磁盘进行定制化安装。
3)原有的镜像中的内核由于安全问题,需要升级为新内核。
要实现上述场景的定制化安装,首先用户需要编写配置文件,配置文件伪代码如下:
#安装前加载raid驱动
%start @pre
insmod ${HOOK}/x3650_md.ko
-----以上为实现在安装程序开始前,加载硬盘驱动(x3650_md.ko)功能动作的第二对象对应的函数代码-----
#格式化分区后,对第二个磁盘格式化分区
%parted @post
${HOOK}/parted_fs.sh /dev/sdb
-----以上为实现对第二个磁盘进行定制化安装功能动作的第二对象对应的函数代码-----
#更新内核,修复原有镜像bug
%pkg-install @post
rpm -ivh --force ${HOOK}/kernel-core.rpm
%reboot @post
ext4_strace_time.py > ${MNT}/var/log/strace_time.log
-----以上为实现更新内核,修复原有镜像bug功能动作的第二对象对应的函数代码-----
配置文件设置好之后,如图4所示,使用打包工具将配置文件与安装程序(old.ISO文件)打包为new.ISO文件。
New.ISO被加载进入安装系统,安装程序解析配置文件,做相应的预处理。
安装程序的主体代码执行前,调用hook,传入START和PRE参数,hook内部函数对START和PRE标识进行匹配,执行配置文件中insmod ${HOOK}/x3650_md.ko的代码,插入磁盘驱动。
同理,再格式化分区(parted)后关执行后执行${HOOK}/parted_fs.sh /dev/sdb,对第二个磁盘格式化分区。在安装完软件后,进入hook,执行rpm -ivh --force ${HOOK}/kernel-core.rpm升级内核。
最后重启,完成安装。
本发明提供的操作系统的安装方法通过在操作系统的安装程序中设置钩子函数,编写配置文件,安装程序通过回调钩子函数,实现对操作系统的定制化设计,从而避免直接修改安装程序,提供了更易用、稳定的定制化方法,降低定制化安装的技术难度。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种操作系统的安装方法,在计算机设备执行,其中,该方法包括:
在所述操作系统的安装程序源码文件中设置多个第一对象;
生成配置文件,所述配置文件包括与预设功能相关的至少一个第二对象;
对所述第二对象进行预处理,以使得所述第二对象与所述第一对象相关联;
在运行所述安装程序时,若触发所述第一对象,则执行与所述第一对象关联的第二对象对应的预设功能。
2.如权利要求1所述的方法,其中,所述在操作系统的安装程序源码文件中设置多个第一对象的步骤包括:
获取所述安装程序源码文件中所有的执行函数;
标记每一所述执行函数的起止时刻位置;
在所述标记的起止时刻位置中的至少一个位置设置第一对象。
3.如权利要求1所述的方法,其中,所述对第二对象进行预处理,以使得所述第二对象与所述第一对象相关联的步骤包括:
获取第一对象的声明规则;
基于所述声明规则在所述第二对象中写入相应的关键词,以实现所述第一对象与第二对象之间的通信。
4.如权利要求1所述的方法,其中,在运行所述安装程序时,若触发所述第一对象,则执行与所述第一对象关联的第二对象对应的预设功能的步骤包括:
安装程序调用第一对象,通过所述第一对象解析配置文件;
安装程序基于所述配置文件回传的标识参数,执行配置文件中对应的第二对象的预设功能。
5.如权利要求1所述的方法,其中,该方法还包括:
利用镜像打包工具,将所述配置文件与所述安装程序源码文件进行一体打包。
6.如权利要求3所述的方法,其中,所述关键词包括:
执行所述第二对象的触发信息和执行顺序信息。
7.如权利要求1所述的方法,其中,所述预设功能至少包括以下中的一个或多个:加载硬盘驱动、升级内核、补丁修复、个性化配置和调试程序。
8.如权利要求1所述的方法,其中,所述配置文件还包括:
实现所述第二对象的预设功能的相关文件;
所述相关文件包括驱动文件、安全文件和软件包。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110614020.8A CN113064607A (zh) | 2021-06-02 | 2021-06-02 | 一种操作系统的安装方法、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110614020.8A CN113064607A (zh) | 2021-06-02 | 2021-06-02 | 一种操作系统的安装方法、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113064607A true CN113064607A (zh) | 2021-07-02 |
Family
ID=76568526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110614020.8A Pending CN113064607A (zh) | 2021-06-02 | 2021-06-02 | 一种操作系统的安装方法、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064607A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356359A (zh) * | 2022-01-05 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 应用程序安装方法、装置、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934956B1 (en) * | 1997-09-09 | 2005-08-23 | Micron Technology, Inc. | Method and apparatus for installing an operating system |
CN103268242A (zh) * | 2013-06-05 | 2013-08-28 | 中国电子科技集团公司第十五研究所 | 安装信息系统的方法及装置 |
CN107357608A (zh) * | 2017-06-21 | 2017-11-17 | 联想(北京)有限公司 | 一种自动安装操作系统的方法、装置及系统 |
CN108829406A (zh) * | 2018-06-13 | 2018-11-16 | 珠海市君天电子科技有限公司 | 安装包打包方法、装置、电子设备及存储介质 |
CN110298146A (zh) * | 2019-06-27 | 2019-10-01 | 北京奇艺世纪科技有限公司 | 一种应用程序的处理、运行方法及装置 |
CN112667246A (zh) * | 2021-01-08 | 2021-04-16 | 深圳前海微众银行股份有限公司 | 应用功能扩展的方法、装置及电子设备 |
-
2021
- 2021-06-02 CN CN202110614020.8A patent/CN113064607A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934956B1 (en) * | 1997-09-09 | 2005-08-23 | Micron Technology, Inc. | Method and apparatus for installing an operating system |
CN103268242A (zh) * | 2013-06-05 | 2013-08-28 | 中国电子科技集团公司第十五研究所 | 安装信息系统的方法及装置 |
CN107357608A (zh) * | 2017-06-21 | 2017-11-17 | 联想(北京)有限公司 | 一种自动安装操作系统的方法、装置及系统 |
CN108829406A (zh) * | 2018-06-13 | 2018-11-16 | 珠海市君天电子科技有限公司 | 安装包打包方法、装置、电子设备及存储介质 |
CN110298146A (zh) * | 2019-06-27 | 2019-10-01 | 北京奇艺世纪科技有限公司 | 一种应用程序的处理、运行方法及装置 |
CN112667246A (zh) * | 2021-01-08 | 2021-04-16 | 深圳前海微众银行股份有限公司 | 应用功能扩展的方法、装置及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356359A (zh) * | 2022-01-05 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 应用程序安装方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7062764B2 (en) | System and method for manipulating offline software | |
US8607208B1 (en) | System and methods for object code hot updates | |
US7356816B2 (en) | Method and apparatus for multiplatform migration | |
CN102436387B (zh) | 用于快速计算机启动的方法和装置 | |
US7900202B2 (en) | Identification of software execution data | |
EP2368189B1 (en) | Debugging pipeline | |
US20100146481A1 (en) | Developing applications at runtime | |
US20060064576A1 (en) | Boot systems and methods | |
CN107526625B (zh) | 一种基于字节码检查的Java智能合约安全检测方法 | |
US20090064196A1 (en) | Model based device driver code generation | |
US20030182653A1 (en) | Systems and methods for verifying correct execution of emulated code via dynamic state verification | |
JP2008234673A (ja) | モバイル・デバイスのアプリケーション・インストール管理システムおよび方法 | |
US20080244562A1 (en) | Method of Identifying and Checking Software Installation Requirements | |
CN114691240A (zh) | 驱动硬件配置信息加载方法、装置和系统,以及计算设备 | |
US10839124B1 (en) | Interactive compilation of software to a hardware language to satisfy formal verification constraints | |
CN111984263A (zh) | 在第一系统运行第二系统应用的方法、装置、设备及介质 | |
CN113064607A (zh) | 一种操作系统的安装方法、计算设备及存储介质 | |
US20030145127A1 (en) | Method and computer program product for providing a device driver | |
WO2022120640A1 (zh) | 基于electron的更新方法及系统 | |
CN114064113A (zh) | 主机版本控制方法及装置 | |
US20120144390A1 (en) | Customized computer image preparation and deployment including virtual machine mode | |
US8006242B2 (en) | Identification of software configuration data | |
CN101470657A (zh) | 一种bios刷新内容的验证方法 | |
CN109960522B (zh) | 一种软件升级方法及装置 | |
US20230093197A1 (en) | Generating executables for target operational environments |
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 |