WO2025124170A1 - 基于pxe自适应硬盘驱动linux操作系统的安装方法及系统 - Google Patents
基于pxe自适应硬盘驱动linux操作系统的安装方法及系统 Download PDFInfo
- Publication number
- WO2025124170A1 WO2025124170A1 PCT/CN2024/135729 CN2024135729W WO2025124170A1 WO 2025124170 A1 WO2025124170 A1 WO 2025124170A1 CN 2024135729 W CN2024135729 W CN 2024135729W WO 2025124170 A1 WO2025124170 A1 WO 2025124170A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hard disk
- pxe
- disk drive
- driver
- operating system
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Definitions
- the present application relates to the field of Linux operating system distribution research and development, and is mainly aimed at the installation of Linux operating system on a physical server, especially the scenario of installation using PXE, and specifically to a method and system for installing Linux operating system based on PXE adaptive hard disk drive.
- the Live memory system environment automatically detects and obtains the device type, device ID and alias of the hard disk.
- the Linux operating system selects the target hard disk during the installation process, the hard disk is automatically detected and the device type, device ID and alias of the hard disk are obtained based on the /dev and /sys file systems.
- the hard disk driver rpm package is installed and loaded in the Live memory system environment, including:
- the present application also provides an installation system for a Linux operating system based on a PXE adaptive hard disk drive, comprising the following modules:
- PXE protocol enhancement module used to transmit the hard disk drive rpm package software repository path, using the unallocated Option 178 in DHCP Options as the carrier according to the RFC standard;
- Hard disk drive software warehouse creation module creates a hard disk drive rpm package software warehouse in the first directory of the PXE server, which is used to store various types of hard disk drive rpm packages;
- Hard disk information and driver mapping relationship creation module creates a hard disk driver mapping relationship file of hard disk information and driver rpm package in the second directory of the PXE server, in which each line of data indicates the rpm package name corresponding to the driver kernel module compiled on the hard disk for a specific Linux Kernel version;
- PXE protocol path update module updates the PXE protocol, transmits the path of the hard disk drive rpm package software repository on the PXE server, and identifies the hard disk model in the Live memory system environment;
- Hard disk identification and support determination module automatically detects and obtains the device type, device ID and alias of the target hard disk in the Live memory system environment, and determines whether the operating system can be installed on the target hard disk based on the obtained hard disk information;
- Unsupported target hard disk processing module If the target hard disk is not supported, download the hard disk drive mapping relationship file from the first directory of the PXE server;
- PXE server configuration module Perform yum configuration based on the IP address of the PXE server and the hard disk drive rpm package repository path;
- Hard disk driver download and cache module download and cache hard disk driver rpm to Live memory system cache for subsequent installation operations;
- Hard disk driver installation and loading module install the hard disk driver rpm package and load the driver in the Live memory system environment;
- Normal operating system software package installation module after the hard disk drive is installed, the normal operating system software package is installed;
- a computer device including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, any one of the above-mentioned methods for installing a Linux operating system based on a PXE adaptive hard disk drive according to the present application is executed.
- mapping file between the hard disk information and its driver rpm package in the second directory on the PXE server.
- the directory can be accessed by the PXE server process.
- Each line of data recorded in the mapping file indicates the rpm package name corresponding to the driver kernel module compiled on a specific Linux Kernel version for a certain hard disk.
- Step 3 Update the PXE protocol to transfer the path of the hard disk drive rpm package repository on the PXE server
- Option 178 which has not been allocated in DHCP Options, is used as the carrier according to the RFC standard.
- the DHCP configuration file dhcpd.conf in the PXE server needs to add a server driver rpm package warehouse information path configuration, as shown in Figure 4.
- Step 4 Automatically detect and obtain the device type, device ID and alias of the hard disk in the Live memory system environment
- the Linux operating system When the Linux operating system selects the target hard disk during the installation process, it automatically detects the hard disk based on the /dev and /sys file systems to obtain the hard disk's device type, device ID, and alias.
- Step 5 Determine whether the target hard disk is supported in the Live Memory system environment
- step 4 check whether the system has the target hard disk driver from the system file /usr/lib/modules/'kernel version'/module.alias.
- Step 8 Download the rpm package of the hard disk drive from the PXE server
- the hard disk driver rpm package name is matched. If the match is successful, the hard disk driver rpm package is downloaded and cached in the Live memory system environment, otherwise the installation fails.
- Step 9 Install the hard disk drive rpm package and load it in the Live memory system environment
- Step 10 The Linux operating system installer in the Live memory system environment installs the operating system software package according to normal logic
- Step 11 Install the hard disk driver rpm package on the hard disk file system and update the kernel module configuration file
- the embodiment of the present application provides a method for installing a Linux operating system based on a PXE adaptive hard disk drive. During the installation, it automatically detects and determines whether the installation of the operating system on the target device is supported, enhances the PXE protocol so that it has the ability to transmit information such as the hard disk drive rpm package warehouse path, and installs the hard disk drive in a two-stage linkage manner between the Live memory system environment and the hard disk file system, thereby solving the problems that the hard disk drive cannot install the operating system when the ISO image file is missing and the difficulty of normally accessing the hard disk after the operating system is installed.
- the present application discloses a method for installing a Linux operating system based on a PXE adaptive hard disk drive, which can enable the Linux operating system to automatically adapt to installation on various types of hard disks.
- the Linux operating system does not support a certain hard disk drive, there is no need to recompile the kernel vmlinuz, inject the hard disk drive to remake Initramfs, or reconstruct the ISO image file, thereby avoiding problems such as inflexible technology and excessive cost.
- the Linux operating system ISO image file installed on the cloud computing resource pool server is ctyunos-2.0.1-220311-x86_64-dvd
- the Linux kernel version is 4.19.90
- the PXE server uses cobbler
- the hard disk controller is a RAID controller.
- the present embodiment provides a method for installing a Linux operating system based on a PXE adaptive hard disk drive, and the installation includes the following steps:
- Step 1 Obtain the hard disk driver rpm package from the hard disk hardware manufacturer, or create a hard disk driver rpm package for a specific Linux operating system distribution, create a second directory disk_repo in the /var/www/cobbler/ directory on the PXE server, and use createrepo to create a software repository in this directory.
- Step 2 Create the first directory mapping_dir in the /var/www/cobbler/ directory on the PXE server, and create a mapping relationship file disk_rpm_mapping in this directory to the hard information and its driver rpm package name.
- the file content is as follows:
- Step 3 Modify the configuration file /etc/dhcpd.conf and add the driver-repo:/var/www/cobbler/driver-repo/x86_64/ configuration item.
- the PXE server stores driver-repo in DHCP Options 178 in the DHCP Offer message in reply to the PXE client.
- the PXE client passes it to the PXE server when starting the Live Memory system environment.
- Step 4 Automatically detect and obtain the device type, device ID and alias of the hard disk in the installation environment
- the corresponding modalias file is found from the system file directory /sys/devices, and the alias-pci:v00009005d0000028sv*sd*sc* of the target hard disk is obtained from the file.
- Step 5 Determine whether the target hard disk is supported in the Live memory system environment
- Step 6 Driver-repo obtained from the above steps: /var/www/cobbler/driver-repo/x86_64/
- Step 8 According to the hard disk device type and device ID obtained in step 4, determine the rpm package name of the corresponding hard disk drive in the mapping relationship file disk_rpm_mapping as kmod-megaraid_sa-3.2-x86_64.rpm. Use the system command yumdownloader kmod-megaraid_sas to download the hard disk drive rpm package and cache it in the Live memory system environment;
- Step 9 Use the system command "rpm-ivh kmod-megaraid_sa-3.2-x86_64.rpm” to install the hard disk driver rpm package in the Live memory system environment, and use the system command insmod megaraid_sas.ko to load it into the memory environment;
- Step 10 The Linux operating system installer in the Live memory system environment installs the operating system software package according to normal logic
- Step 11 Install the hard disk driver rpm package on the hard disk file system and update the kernel module configuration file.
- the specific steps are as follows:
- steps are not necessarily performed in sequence in the above order. Unless there is clear explanation in this article, the execution of these steps does not have strict order restriction, and these steps can be performed in other orders. Moreover, a part of the steps of the present embodiment may include a plurality of steps or a plurality of stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with at least a part of the steps or stages in other steps or other steps.
- a second aspect of the embodiment of the present application further provides a Linux operating system installation system based on a PXE adaptive hard disk drive, comprising the following modules:
- PXE protocol enhancement module used to transmit the hard disk drive rpm package software repository path, using Option 178 that has not been allocated in DHCP Options as the carrier according to the RFC standard.
- Hard disk drive software warehouse creation module creates a hard disk drive rpm package software warehouse in the first directory of the PXE server, which is used to store various types of hard disk drive rpm packages.
- Hard disk information and drive mapping relationship creation module Create a hard disk drive mapping relationship file of hard disk information and drive rpm package in the second directory of the PXE server, where each line of data indicates the rpm package name corresponding to the driver kernel module compiled on the hard disk for a specific Linux Kernel version.
- PXE protocol path update module updates the PXE protocol, transmits the path of the hard disk drive rpm package software repository on the PXE server, and identifies the hard disk model in the Live memory system environment.
- Hard disk identification and support determination module automatically detects and obtains the device type, device ID and alias of the target hard disk in the Live memory system environment, and determines whether the operating system can be installed on the target hard disk based on the obtained hard disk information.
- Unsupported target hard disk processing module If the target hard disk is not supported, download the hard disk drive mapping relationship file from the first directory of the PXE server.
- PXE server configuration module Perform yum configuration based on the IP address of the PXE server and the hard disk drive rpm package repository path.
- Hard disk driver download and cache module downloads and caches the hard disk driver rpm to the Live memory system cache for subsequent installation operations.
- Hard disk driver installation and loading module Install the hard disk driver rpm package and load the driver in the Live memory system environment.
- Normal operating system software package installation module After the hard disk driver is installed, the normal operating system software package is installed.
- the hard disk drive rpm package acquisition module the hard disk drive rpm package can be obtained from the hard disk hardware manufacturer, or a hard disk drive rpm package can be made by oneself for a specific Linux operating system distribution version.
- Hard disk drive mapping file module In the hard disk drive mapping file, each line of data is used to indicate the rpm package name corresponding to the driver kernel module compiled for the hard disk on a specific Linux Kernel version.
- PXE protocol transmission module used to transmit PXE server driver rpm package warehouse information.
- Option 178 in DHCP Options that has not been allocated for use is used as the carrier.
- the DHCP configuration file dhcpd.conf in the PXE server has an additional server driver rpm package warehouse information path configuration.
- Target hard disk identification module When identifying the hard disk model in the Live memory system environment, it automatically detects and obtains the hard disk's device type, device ID and alias. When the Linux operating system selects the target hard disk during the installation process, it automatically detects the hard disk based on the /dev and /sys file systems to obtain the hard disk's device type, device ID and alias.
- the target hard disk support determination module determines whether the target hard disk is supported in the Live memory system environment, including:
- target hard disk alias information check whether the system has the target hard disk driver from the system files, usr, lib, modules, "kernel version” or module.alias;
- the hard disk drive rpm package warehouse configuration module performs hard disk drive rpm package warehouse configuration in the Live memory system environment, and performs rpm package warehouse configuration according to the IP address of the PXE server and the path of the transmitted hard disk drive rpm package warehouse on the PXE server.
- the hard disk information downloading and matching module includes the following steps:
- the hard disk driver rpm package is downloaded and cached in the Live memory system environment, otherwise the installation fails.
- the hard disk driver installation and loading module **Installs and loads the hard disk driver rpm package in the Live memory system environment, including:
- the normal operating system software package installation module **The Linux operating system installation program in the Live memory system environment installs the operating system software package according to normal logic.
- the hard disk driver module is installed on the hard disk file system: **Install the hard disk driver rpm package on the hard disk file system and update the kernel module configuration file, including:
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统,该方法包括:创建硬盘驱动rpm包软件仓库,创建硬盘信息与其驱动rpm包映射关系文件;更新PXE协议传输硬盘驱动rpm包仓库在PXE服务器上的路径;Live内存系统环境中自动探测并获取硬盘的设备类型、设备ID与别名;Live内存系统环境中判定是否支持目标硬盘;在Live内存系统环境中进行硬盘驱动rpm包仓库配置;下载硬盘信息与其驱动rpm包映射关系文件;从PXE服务器匹配下载硬盘驱动的rpm包;Live内存系统环境中安装硬盘驱动rpm包并进行加载;在Live内存系统环境中的Linux操作系统安装程序按照正常逻辑安装操作系统软件包;硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件。
Description
相关申请的交叉引用
本申请要求在2023年12月14日提交中国专利局、申请号为202311720325.2、发明名称为“基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及Linux操作系统发行版研发领域,主要针对Linux操作系统在物理服务器上的安装,尤其利用PXE进行安装的场景,具体涉及一种基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统。
近些年,随着云计算产业的发展,云计算改变了人们获取信息的方式,以及企业的信息系统建设方式。云计算也被认为是第三次IT浪潮,云计算是与信息技术、软件、互联网相关的一种服务。云计算的高速发展也需要强有力的基础设施支撑,其中极为重要的为管理云计算资源池服务器硬件和服务能力的操作系统。现阶段的云计算操作系统一般为RedHat、CentOS等Linux操作系统。
目前Linux操作系统的安装一般是通过两种方式进行安装,一是将Linux操作系统ISO镜像文件客户端到光盘或者U盘,然后插入物理服务器进行安装;第二种是将Linux操作系统ISO镜像文件导入一类PXE服务器,然后配置相应环境进行安装。实际工程中云计算资源池拥有大量各种型号的服务器,不同服务器可能配置着不同类型的硬盘驱动器,如RAID、NVME等。但是一款Linux操作系统发行版发布时不可能同时支持在所有类型的硬盘上安装,因为ISO镜像文件中可能缺少某种类型硬盘的驱动。现有技术手段一般需要研发人员把Linux操作系统发行版ISO镜像文件解开,重新编译内核vmlinuz或者注入硬盘驱动重新制作Initramfs,重新构造发布ISO镜像文件,集成人员才能继续安装。因此现有技术手段存在ISO镜像文件重新发布、不够灵活、耗时较长等问题。
有鉴于此,本申请提出了一种基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统,可以充分利用现有Linux操作系统PXE安装机制,能够使Linux操作系统自动适应在各种类型硬盘上的安装,在Linux操作系统不支持某硬盘驱动的情况下,无须重新编译内核vmlinuz,无须注入硬盘驱动重新制作Initramfs,更不用重新构造ISO镜像文件,提高研发、运维效率。
基于上述目的,第一方面,本申请提供了一种基于PXE自适应硬盘驱动Linux操作系统的安装方法,包括以下步骤:
增强PXE协议传输硬盘驱动rpm包软件仓库路径;
在PXE服务器上的第一目录创建硬盘驱动rpm包软件仓库;
在PXE服务器上的第二日录创建硬盘信息和驱动rpm包的硬盘驱动映射关系文件;
更新PXE协议,传输硬盘驱动rpm包软件仓库在PXE服务器上的路径,并在Live内存系统环境中识别硬盘型号;
在Live内存系统环境中判定是否支持目标硬盘;
若不支持目标硬盘,从PXE服务器第一目录下载硬盘驱动映射关系文件;
根据PXE服务器IP与硬盘驱动rpm包仓库路径进行yum配置;
下载并缓存硬盘驱动rpm到Live内存系统缓存中;
在Live内存系统环境中安装硬盘驱动rpm包并加载驱动;
正常操作系统软件包安装;若支持目标硬盘,直接进行正常操作系统软件包安装;
硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件。
作为本申请的可选方案,硬盘驱动rpm包通过从硬盘硬件厂商获取,或者针对具体的Linux操作系统发行版自制硬盘驱动rpm包。
作为本申请的可选方案,硬盘驱动映射关系文件中记录的每一行数据用于指示硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称。
作为本申请的可选方案,PXE协议用于传输PXE服务器驱动rpm包仓库信息,据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体,其中,PXE服务器中的DHCP的配置文件dhcpd.conf增加有一项服务器驱动rpm包仓库信息路径配置。
作为本申请的可选方案,在Live内存系统环境中识别硬盘型号时,Live内存系统环境中自动探测并获取硬盘的设备类型、设备ID与别名,Linux操作系统在安装过程中选择目标硬盘时,根据/dev与/sys两个文件系统自动探测硬盘的获取硬盘的设备类型、设备ID、别名。
作为本申请的可选方案,Live内存系统环境中判定是否支持目标硬盘,包括以下步骤:
根据获取到的目标硬盘别名信息,从系统文件、usr、lib、modules、“内核版本”或module.alias中查找系统是否有目标硬盘的驱动;
如果有目标硬盘的驱动,调用lsmod命令确认该硬盘驱动是否已经加载,若没有加载则调用insmod加载该硬盘驱动,跳转直接进行正常操作系统软件包安装;如果没有目标硬盘的驱动则进行硬盘驱动rpm包仓库配置。
作为本申请的可选方案,在Live内存系统环境中进行硬盘驱动rpm包仓库配置,根据PXE服务器的IP地址以及传输的硬盘驱动rpm包仓库在PXE服务器上的路径进行rpm包仓库配置。
作为本申请的可选方案,所述基于PXE自适应硬盘驱动Linux操作系统的安装方法,还包括:
从PXE服务器上的第二目录下载硬盘信息与PXE服务器驱动rpm包映射关系文件;
从PXE服务器匹配下载硬盘驱动的rpm包;
Live内存系统环境中安装硬盘驱动rpm包并进行加载;
在Live内存系统环境中的Linux操作系统安装程序按照正常逻辑安装操作系统软件包。
作为本申请的可选方案,从PXE服务器匹配下载硬盘驱动的rpm包,包括:
根据在Live内存系统环境中进行硬盘驱动rpm包仓库配置时获取到的硬盘信息与硬盘信息驱动rpm包映射关系文件,以及获取到的硬盘的设备类型、设备ID、内核版本为条件,匹配硬盘驱动rpm包名称;
若匹配成功,则下载该硬盘驱动rpm包并缓存在Live内存系统环境中,反之安装失败。
作为本申请的可选方案,Live内存系统环境中安装硬盘驱动rpm包并进行加载,包括:
获取Live内存系统环境中缓存中的硬盘驱动rpm包路径;
使用系统命令rpm-ivh‘硬盘驱动rpm包’在Live内存系统环境中安装该硬盘驱动rpm包;
使用系统命令insmod加载硬盘驱动。
作为本申请的可选方案,直接进行正常操作系统软件包安装后,还包括:
判断是否支持该硬盘;
若不支持该硬盘,从Live内存系统环境中拷贝硬盘驱动rpm包到硬盘文件系统;
切换进入硬盘文件系统;
硬盘文件系统中安装硬盘驱动rpm包并更新内核配置文件。
作为本申请的可选方案,硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件,包括:
在Live内存系统环境中查找硬盘文件系统挂载点/sysroot;
使用系统命令mkdir新建临时目录/sysroot/new_disk,拷贝硬盘驱动rpm包到该目录下;
使用系统命令chroot/sysroot/从Live内存系统环境文件系统切换进入到硬盘的文件系统;
使用系统命令rpm-ivh‘硬盘驱动rpm包’在硬盘文件系统上安装该硬盘驱动rpm包,相应的硬盘驱动ko文件会被安装到硬盘文件系统的正确的目录中;
使用系统命令‘depmod-a’更新硬盘文件系统上内核模块配置文件内容。
第二方面,本申请还提供了一种基于PXE自适应硬盘驱动Linux操作系统的安装系统,包括以下模块:
PXE协议增强模块:用于传输硬盘驱动rpm包软件仓库路径,根据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体;
硬盘驱动软件仓库创建模块:在PXE服务器的第一目录创建硬盘驱动rpm包软件仓库,用于存储各种类型的硬盘驱动rpm包;
硬盘信息与驱动映射关系创建模块:在PXE服务器的第二目录创建硬盘信息和驱动rpm包的硬盘驱动映射关系文件,其中每一行数据指示硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称;
PXE协议路径更新模块:更新PXE协议,传输硬盘驱动rpm包软件仓库在PXE服务器上的路径,并在Live内存系统环境中识别硬盘型号;
硬盘识别与支持判定模块:在Live内存系统环境中自动探测并获取目标硬盘的设备类型、设备ID与别名,根据获取的硬盘信息判断是否支持在目标硬盘上安装操作系统;
不支持目标硬盘处理模块:如果不支持目标硬盘,从PXE服务器的第一目录下载硬盘驱动映射关系文件;
PXE服务器配置模块:根据PXE服务器的IP地址与硬盘驱动rpm包仓库路径进行yum配置;
硬盘驱动下载与缓存模块:下载并缓存硬盘驱动rpm到Live内存系统缓存中,用于后续的安装操作;
硬盘驱动安装与加载模块:在Live内存系统环境中安装硬盘驱动rpm包并加载驱动;
正常操作系统软件包安装模块:在硬盘驱动安装完成后,进行正常操作系统软件包的安装;
支持目标硬盘直接安装模块:如果支持目标硬盘,直接进行正常操作系统软件包安装。
本申请的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本申请的基于PXE自适应硬盘驱动Linux操作系统的安装方法。
本申请的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本申请的基于PXE自适应硬盘驱动Linux操作系统的安装方法。
与现有技术相比较而言,本申请提出的一种基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统,具有以下有益效果:
1.在安装中自动探测并判断是否支持在目标设备上的安装操作系统;
2.增强PXE协议使其具备传输硬盘驱动rpm包仓库路径等信息的能力;
3.Live内存系统环境与硬盘文件系统两阶段联动硬盘驱动安装,解决ISO镜像文件缺失硬盘驱动无法安装操作系统与操作系统安装完成后正常访问硬盘的难点。
综上所述,本申请的基于PXE自适应硬盘驱动Linux操作系统的安装方法能够使Linux操作系统自动适配在各种类型硬盘上的安装,在Linux操作系统不支持某硬盘驱动的情况下,无须重新编译内核vmlinuz,无须注入硬盘驱动重新制作Initramfs,也不用重新构造ISO镜像文件,避免了技术不灵活、成本消耗过大等问题。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
在图中:
图1为本申请实施例的基于PXE自适应硬盘驱动Linux操作系统的安装方法的流程图;
图2为本申请实施例的基于PXE自适应硬盘驱动Linux操作系统的安装方法中识别下载rpm包的流程图;
图3为本申请实施例的基于PXE自适应硬盘驱动Linux操作系统的安装方法中Live内存系统环境安装硬盘驱动rpm包的流程图。
图4为本申请实施例的基于PXE自适应硬盘驱动Linux操作系统的安装方法中增加DHCP配置项的示意图。
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本申请的目的在于提供一种基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统,可以充分利用现有Linux操作系统PXE安装机制,能够使Linux操作系统自动适应在各种类型硬盘上的安装。在Linux操作系统不支持某硬盘驱动的情况下,无须重新编译内核vmlinuz,无须注入硬盘驱动重新制作Initramfs,更不用重新构造ISO镜像文件,提高研发、运维效率。
为达到上述目的,本申请一种基于PXE自适应硬盘驱动Linux操作系统的安装方法,包括以下步骤:
步骤1:创建硬盘驱动rpm包软件仓库
通过从硬盘硬件厂商获取硬盘驱动rpm包,或者针对某个具体的Linux操作系统发行版自制硬盘驱动rpm包。在PXE服务器上的第一目录创建将各种类型的硬盘驱动rpm包的软件仓库。
步骤2:创建硬盘信息与其驱动rpm包映射关系文件
在PXE服务器上的第二目录创建一个硬盘信息与其驱动rpm包映射关系文件,目录可以让PXE服务器进程能够访问到即可。映射关系文件中记录的每一行数据指示某硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称。
步骤3:更新PXE协议传输硬盘驱动rpm包仓库在PXE服务器上的路径
PXE协议过程中为了传输PXE服务器驱动rpm包仓库信息,根据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体。同时PXE服务器中的DHCP的配置文件dhcpd.conf需要增加一项服务器驱动rpm包仓库信息路径配置,如图4所示。
步骤4:Live内存系统环境中自动探测并获取硬盘的设备类型、设备ID与别名(alias)
Linux操作系统在安装过程中选择目标硬盘时,根据/dev与/sys两个文件系统自动探测硬盘的获取硬盘的设备类型、设备ID、别名(alias);
步骤5:Live内存系统环境中判定是否支持在目标硬盘
1)根据步骤4获取到的目标硬盘alias信息,从系统文件/usr/lib/modules/‘内核版本’/module.alias中查找系统是否有目标硬盘的驱动,
2)如果有目标硬盘的驱动,调用lsmod命令确认该硬盘驱动是否已经加载,若没有加载则调用insmod加载该硬盘驱动,跳转到步骤10。如果没有目标硬盘的驱动则跳转到步骤6。
步骤6:在Live内存系统环境中进行硬盘驱动rpm包仓库配置
根据PXE服务器的IP地址以及步骤3传输过来的硬盘驱动rpm包仓库在PXE服务器上的路径进行rpm包仓库配置。
步骤7:下载硬盘信息与其驱动rpm包映射关系文件
从PXE服务器上的第二目录下载硬盘信息与其驱动rpm包映射关系文件。
步骤8:从PXE服务器匹配下载硬盘驱动的rpm包
根据步骤6获取到的硬盘信息与其驱动rpm包映射关系文件,以及步骤4获取到的硬盘的设备类型、设备ID、内核版本为条件,匹配其硬盘驱动rpm包名称。若匹配成功,则下载该硬盘驱动rpm包并缓存在Live内存系统环境中,反之安装失败。
步骤9:Live内存系统环境中安装硬盘驱动rpm包并进行加载
1)获取Live内存系统环境中缓存中的硬盘驱动rpm包路径;
2)使用系统命令rpm-ivh‘硬盘驱动rpm包’在Live内存系统环境中安装该硬盘驱动rpm包;
3)使用系统命令insmod加载硬盘驱动。
步骤10:在Live内存系统环境中的Linux操作系统安装程序按照正常逻辑安装操作系统软件包;
步骤11:硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件
1)在Live内存系统环境中查找硬盘文件系统挂载点/sysroot;
2)使用系统命令mkdir新建临时目录/sysroot/new_disk,拷贝硬盘驱动rpm包到该目录下;
3)使用系统命令chroot/sysroot/从Live内存系统环境文件系统切换进入到硬盘的文件系统;
4)使用系统命令rpm-ivh‘硬盘驱动rpm包’在硬盘文件系统上安装该硬盘驱动rpm包,相应的硬盘驱动ko文件会被安装到硬盘文件系统的正确的目录中;
5)使用系统命令’depmod-a‘更新硬盘文件系统上内核模块配置文件内容。
本申请的实施例提供了一种基于PXE自适应硬盘驱动Linux操作系统的安装方法,在安装中自动探测并判断是否支持在目标设备上的安装操作系统,增强PXE协议使其具备传输硬盘驱动rpm包仓库路径等信息的能力,Live内存系统环境与硬盘文件系统两阶段联动硬盘驱动安装,解决ISO镜像文件缺失硬盘驱动无法安装操作系统与操作系统安装完成后正常访问硬盘的难点。
本申请的一种基于PXE自适应硬盘驱动Linux操作系统的安装方法,能够使Linux操作系统自动适配在各种类型硬盘上的安装,在Linux操作系统不支持某硬盘驱动的情况下,无须重新编译内核vmlinuz,无须注入硬盘驱动重新制作Initramfs,也不用重新构造ISO镜像文件,避免了技术不灵活、成本消耗过大等问题。
为了使本技术领域的人更好地理解本申请中的技术方案,下面结合附图和具体实施例,对本申请的技术方案作进一步描述。显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。
本实施例是在云计算资源池服务器上安装的Linux操作系统ISO镜像文件为ctyunos-2.0.1-220311-x86_64-dvd,Linux内核版本为4.19.90,PXE服务器使用cobbler,硬盘控制器为RAID控制器。
本实施例的一种基于PXE自适应硬盘驱动Linux操作系统的安装方法,安装时包括以下步骤:
步骤1:通过从硬盘硬件厂商获取硬盘驱动rpm包,或者针对某个具体的Linux操作系统发行版自制硬盘驱动rpm包,在PXE服务器/var/www/cobbler/目录下创建第二目录disk_repo,并在该目录下使用createrepo创建软件仓库。
步骤2:在PXE服务器/var/www/cobbler/目录下创建第一目录mapping_dir,并在该目录下创建硬信息与其驱动rpm包名称的映射关系文件disk_rpm_mapping,文件内容如下:
步骤3:修改配置文件/etc/dhcpd.conf,增加driver-repo:/var/www/cobbler/driver-repo/x86_64/配置项。PXE服务器在回复PXE客户端的DHCP Offer消息中在DHCP Options 178中存储driver-repo。PXE客户端在启动Live内存系统环境时传递给PXE服务器。
步骤4:安装环境中自动探测并获取硬盘的设备类型、设备ID与别名(alias);
根据内核探测到的硬盘设备类型为00009005、设备ID为0000028,从系统文件目录/sys/devices查找与其对应的modalias文件,从该文件获取目标硬盘的alias-pci:v00009005d0000028sv*sd*sc*。
步骤5:Live内存系统环境中判定是否支持在目标硬盘;
根据硬盘设备alias在系统文件/usr/lib/modules/4.19.
90-2102.2.0.0062/modules.alias钟查找是否存在对应的硬盘驱动ko文件。本案例中由于没有对应RAID的ko文件,直接跳转到步骤6;
步骤6:由上述步骤得到的driver-repo:/var/www/cobbler/driver-repo/x86_64/
以及PXE服务器的IP地址next-server,在/etc/yum.repos.d/目录下创建rpm包仓库配置文件disk-driver.repo,具体步骤如下:
1.设置disk-driver.repo配置文件中的baseurl=http://next-server/var/www/cobbler/driver-repo/x86_64
2.设置disk-driver.repo配置文件中的enabled=1,开启仓软件仓库使用;
3.使用系统命令yum makecache从PXE服务器下载硬盘驱动rpm包仓库的元数据信息,完成rpm包软件仓库配置。
步骤7:使用命令wget从PXE服务器上的第二目录mapping_dir下载硬盘信息与其驱动rpm包映射关系文件disk_rpm_mapping;
步骤8:根据步骤4获取的硬盘设备类型与设备ID,在映射关系文件disk_rpm_mapping中确定对应硬盘驱动的rpm包名称为kmod-megaraid_sa-3.2-x86_64.rpm。使用系统命令yumdownloader kmod-megaraid_sas下载该硬盘驱动rpm包,并缓存在Live内存系统环境中;
步骤9:在Live内存系统环境中使用系统命令“rpm-ivh kmod-megaraid_sa-3.2-x86_64.rpm”进行硬盘驱动rpm包的安装,并使用系统命令insmod megaraid_sas.ko加载该内存环境中;
步骤10:在Live内存系统环境中的Linux操作系统安装程序按照正常逻辑安装操作系统软件包;
步骤11:硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件,具体步骤为:
1.根据硬盘设备文件/dev/sda查找其挂载点为/sysroot;
2.创建新目录/sysroot/new_disk,使用命令cp kmod-megaraid_sa-3.2-x86_64.rpm/sysroot/new_disk拷贝驱动到硬盘文件上;
3.使用系统命令“chroot/sysroot”从Live内存系统环境文件系统切换到硬盘的文件系统;
4.使用系统命令“rpm-ivhkmod-megaraid_sa-3.2-x86_64.rpm”将硬盘驱动rpm包安装到硬盘的文件系统中;
5.使用系统命令depmod-a更新硬盘文件系统上内核模块相关配置文件。
需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
本申请实施例的第二个方面,还提供了一种基于PXE自适应硬盘驱动的Linux操作系统的安装系统,包括以下模块:
PXE协议增强模块:用于传输硬盘驱动rpm包软件仓库路径,根据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体。
硬盘驱动软件仓库创建模块:在PXE服务器的第一目录创建硬盘驱动rpm包软件仓库,用于存储各种类型的硬盘驱动rpm包。
硬盘信息与驱动映射关系创建模块:在PXE服务器的第二目录创建硬盘信息和驱动rpm包的硬盘驱动映射关系文件,其中每一行数据指示硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称。
PXE协议路径更新模块:更新PXE协议,传输硬盘驱动rpm包软件仓库在PXE服务器上的路径,并在Live内存系统环境中识别硬盘型号。
硬盘识别与支持判定模块:在Live内存系统环境中自动探测并获取目标硬盘的设备类型、设备ID与别名,根据获取的硬盘信息判断是否支持在目标硬盘上安装操作系统。
不支持目标硬盘处理模块:如果不支持目标硬盘,从PXE服务器的第一目录下载硬盘驱动映射关系文件。
PXE服务器配置模块:根据PXE服务器的IP地址与硬盘驱动rpm包仓库路径进行yum配置。
硬盘驱动下载与缓存模块:下载并缓存硬盘驱动rpm到Live内存系统缓存中,用于后续的安装操作。
硬盘驱动安装与加载模块:在Live内存系统环境中安装硬盘驱动rpm包并加载驱动。
正常操作系统软件包安装模块:在硬盘驱动安装完成后,进行正常操作系统软件包的安装。
支持目标硬盘直接安装模块:如果支持目标硬盘,直接进行正常操作系统软件包安装。
在本实施例中,硬盘驱动rpm包获取模块:硬盘驱动rpm包可通过从硬盘硬件厂商获取,或者针对具体的Linux操作系统发行版自制硬盘驱动rpm包。
硬盘驱动映射关系文件模块:在硬盘驱动映射关系文件中,每一行数据用于指示硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称。
PXE协议传输模块:用于传输PXE服务器驱动rpm包仓库信息,据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体。PXE服务器中的DHCP的配置文件dhcpd.conf增加有一项服务器驱动rpm包仓库信息路径配置。
目标硬盘识别模块:在Live内存系统环境中识别硬盘型号时,自动探测并获取硬盘的设备类型、设备ID与别名,Linux操作系统在安装过程中选择目标硬盘时,根据/dev与/sys两个文件系统自动探测硬盘的获取硬盘的设备类型、设备ID、别名。
在本实施例中,支持目标硬盘判定模块:在Live内存系统环境中判定是否支持目标硬盘,包括:
根据获取到的目标硬盘别名信息,从系统文件、usr、lib、modules、“内核版本”或module.alias中查找系统是否有目标硬盘的驱动;
如果有目标硬盘的驱动,调用lsmod命令确认该硬盘驱动是否已经加载,若没有加载则调用insmod加载该硬盘驱动,跳转直接进行正常操作系统软件包安装;
如果没有目标硬盘的驱动则进行硬盘驱动rpm包仓库配置。
在本实施例中,硬盘驱动rpm包仓库配置模块:在Live内存系统环境中进行硬盘驱动rpm包仓库配置,根据PXE服务器的IP地址以及传输的硬盘驱动rpm包仓库在PXE服务器上的路径进行rpm包仓库配置。
在本实施例中,硬盘信息下载与匹配模块:包括以下步骤:
从PXE服务器的第二目录下载硬盘信息与PXE服务器驱动rpm包映射关系文件;
从PXE服务器匹配下载硬盘驱动的rpm包,根据在Live内存系统环境中进行硬盘驱动rpm包仓库配置时获取到的硬盘信息与硬盘信息驱动rpm包映射关系文件,以及获取到的硬盘的设备类型、设备ID、内核版本为条件,匹配硬盘驱动rpm包名称;
若匹配成功,则下载该硬盘驱动rpm包并缓存在Live内存系统环境中,反之安装失败。
在本实施例中,硬盘驱动安装与加载模块:**在Live内存系统环境中安装硬盘驱动rpm包并加载,包括:
获取Live内存系统环境中缓存中的硬盘驱动rpm包路径;
使用系统命令rpm-ivh‘硬盘驱动rpm包’在Live内存系统环境中安装该硬盘驱动rpm包;
使用系统命令insmod加载硬盘驱动。
在本实施例中,正常操作系统软件包安装模块:**在Live内存系统环境中的Linux操作系统安装程序按照正常逻辑安装操作系统软件包。
在本实施例中,硬盘文件系统上安装硬盘驱动模块:**在硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件,包括:
在Live内存系统环境中查找硬盘文件系统挂载点/sysroot;
使用系统命令mkdir新建临时目录/sysroot/new_disk,拷贝硬盘驱动rpm包到该目录下;
使用系统命令chroot/sysroot/从Live内存系统环境文件系统切换进入到硬盘的文件系统;
使用系统命令rpm-ivh‘硬盘驱动rpm包’在硬盘文件系统上安装该硬盘驱动rpm包,相应的硬盘驱动ko文件会被安装到硬盘文件系统的正确的目录中;
使用系统命令‘depmod-a’更新硬盘文件系统上内核模块配置文件内容。
本申请实施例的第三个方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法。
在该计算机设备中包括一个处理器以及一个存储器,并还可以包括:输入装置和输出装置。处理器、存储器、输入装置和输出装置可以通过总线或者其他方式连接,输入装置可接收输入的数字或字符信息,以及产生与基于PXE自适应硬盘驱动Linux操作系统的安装的迁移有关的信号输入。输出装置可包括显示屏等显示设备。
存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于PXE自适应硬盘驱动Linux操作系统的安装方法对应的程序指令/模块。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储基于PXE自适应硬盘驱动Linux操作系统的安装方法的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制计算机设备的总体操作。本实施例中,处理器用于运行存储器中存储的程序代码或者处理数据。本实施例计算机设备的多个计算机设备的处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于PXE自适应硬盘驱动Linux操作系统的安装方法的步骤。
应当理解,在相互不冲突的情况下,以上针对根据本申请的基于PXE自适应硬盘驱动Linux操作系统的安装方法阐述的所有实施方式、特征和优势同样地适用于根据本申请的基于PXE自适应硬盘驱动Linux操作系统的安装和存储介质。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个装置的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本申请实施例公开的范围。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (10)
- 一种基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,包括以下步骤:增强PXE协议传输硬盘驱动rpm包软件仓库路径;在PXE服务器上的第一目录创建硬盘驱动rpm包软件仓库;在PXE服务器上的第二日录创建硬盘信息和驱动rpm包的硬盘驱动映射关系文件;更新PXE协议,传输硬盘驱动rpm包软件仓库在PXE服务器上的路径,并在Live内存系统环境中识别硬盘型号;在Live内存系统环境中判定是否支持目标硬盘;若不支持目标硬盘,从PXE服务器第一目录下载硬盘驱动映射关系文件;根据PXE服务器IP与硬盘驱动rpm包仓库路径进行yum配置;下载并缓存硬盘驱动rpm到Live内存系统缓存中;在Live内存系统环境中安装硬盘驱动rpm包并加载驱动;正常操作系统软件包安装;若支持目标硬盘,直接进行正常操作系统软件包安装;硬盘文件系统上安装硬盘驱动rpm包并更新内核模块配置文件。
- 根据权利要求1所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,硬盘驱动rpm包通过从硬盘硬件厂商获取,或者针对具体的Linux操作系统发行版自制硬盘驱动rpm包。
- 根据权利要求2所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,硬盘驱动映射关系文件中记录的每一行数据用于指示硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称。
- 根据权利要求3所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,PXE协议用于传输PXE服务器驱动rpm包仓库信息,据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体,其中,PXE服务器中的DHCP的配置文件dhcpd.conf增加有一项服务器驱动rpm包仓库信息路径配置。
- 根据权利要求4所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,在Live内存系统环境中识别硬盘型号时,Live内存系统环境中自动探测并获取硬盘的设备类型、设备ID与别名,Linux操作系统在安装过程中选择目标硬盘时,根据/dev与/sys两个文件系统自动探测硬盘的获取硬盘的设备类型、设备ID、别名。
- 根据权利要求1所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,Live内存系统环境中判定是否支持目标硬盘,包括以下步骤:根据获取到的目标硬盘别名信息,从系统文件、usr、lib、modules、“内核版本”或module.alias中查找系统是否有目标硬盘的驱动;如果有目标硬盘的驱动,调用lsmod命令确认该硬盘驱动是否已经加载,若没有加载则调用insmod加载该硬盘驱动,跳转直接进行正常操作系统软件包安装;如果没有目标硬盘的驱动则进行硬盘驱动rpm包仓库配置。
- 根据权利要求6所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,在Live内存系统环境中进行硬盘驱动rpm包仓库配置,根据PXE服务器的IP地址以及传输的硬盘驱动rpm包仓库在PXE服务器上的路径进行rpm包仓库配置。
- 根据权利要求7所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,所述基于PXE自适应硬盘驱动Linux操作系统的安装方法,还包括:从PXE服务器上的第二目录下载硬盘信息与PXE服务器驱动rpm包映射关系文件;从PXE服务器匹配下载硬盘驱动的rpm包;Live内存系统环境中安装硬盘驱动rpm包并进行加载;在Live内存系统环境中的Linux操作系统安装程序按照正常逻辑安装操作系统软件包。
- 根据权利要求8所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,其特征在于,从PXE服务器匹配下载硬盘驱动的rpm包,包括:根据在Live内存系统环境中进行硬盘驱动rpm包仓库配置时获取到的硬盘信息与硬盘信息驱动rpm包映射关系文件,以及获取到的硬盘的设备类型、设备ID、内核版本为条件,匹配硬盘驱动rpm包名称;若匹配成功,则下载该硬盘驱动rpm包并缓存在Live内存系统环境中,反之安装失败。
- 一种基于PXE自适应硬盘驱动Linux操作系统的安装系统,其特征在于,该基于PXE自适应硬盘驱动Linux操作系统的安装系统用于执行权利要求1-9任一项所述的基于PXE自适应硬盘驱动Linux操作系统的安装方法,该系统包括以下模块:PXE协议增强模块:用于传输硬盘驱动rpm包软件仓库路径,根据RFC标准使用DHCP Options中尚未分配使用的Options 178作为承载体;硬盘驱动软件仓库创建模块:在PXE服务器的第一目录创建硬盘驱动rpm包软件仓库,用于存储各种类型的硬盘驱动rpm包;硬盘信息与驱动映射关系创建模块:在PXE服务器的第二目录创建硬盘信息和驱动rpm包的硬盘驱动映射关系文件,其中每一行数据指示硬盘针对具体的Linux Kernel版本上编译的驱动内核模块对应的rpm包名称;PXE协议路径更新模块:更新PXE协议,传输硬盘驱动rpm包软件仓库在PXE服务器上的路径,并在Live内存系统环境中识别硬盘型号;硬盘识别与支持判定模块:在Live内存系统环境中自动探测并获取目标硬盘的设备类型、设备ID与别名,根据获取的硬盘信息判断是否支持在目标硬盘上安装操作系统;不支持目标硬盘处理模块:如果不支持目标硬盘,从PXE服务器的第一目录下载硬盘驱动映射关系文件;PXE服务器配置模块:根据PXE服务器的IP地址与硬盘驱动rpm包仓库路径进行yum配置;硬盘驱动下载与缓存模块:下载并缓存硬盘驱动rpm到Live内存系统缓存中,用于后续的安装操作;硬盘驱动安装与加载模块:在Live内存系统环境中安装硬盘驱动rpm包并加载驱动;正常操作系统软件包安装模块:在硬盘驱动安装完成后,进行正常操作系统软件包的安装;支持目标硬盘直接安装模块:如果支持目标硬盘,直接进行正常操作系统软件包安装。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311720325.2A CN117850815B (zh) | 2023-12-14 | 2023-12-14 | 基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统 |
| CN202311720325.2 | 2023-12-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025124170A1 true WO2025124170A1 (zh) | 2025-06-19 |
Family
ID=90531318
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/135729 Pending WO2025124170A1 (zh) | 2023-12-14 | 2024-11-29 | 基于pxe自适应硬盘驱动linux操作系统的安装方法及系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117850815B (zh) |
| WO (1) | WO2025124170A1 (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117850815B (zh) * | 2023-12-14 | 2026-04-21 | 天翼云科技有限公司 | 基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统 |
| CN119847612B (zh) * | 2024-11-14 | 2025-10-14 | 天翼云科技有限公司 | 一种内核升降级自动化驱动适配方法、装置、设备及介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1916846A (zh) * | 2005-08-17 | 2007-02-21 | 联想(北京)有限公司 | 操作系统的自动部署方法 |
| US20090013168A1 (en) * | 2007-07-03 | 2009-01-08 | Adaptec, Inc. | Systems and methods for automatic provisioning of storage and operating system installation |
| CN116301942A (zh) * | 2023-03-21 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种利旧方法、装置、计算机设备和存储介质 |
| CN117850815A (zh) * | 2023-12-14 | 2024-04-09 | 天翼云科技有限公司 | 基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103530148B (zh) * | 2013-09-18 | 2016-09-07 | 国云科技股份有限公司 | 一种大型Linux软件包的发布方法 |
| CN105007290B (zh) * | 2015-05-21 | 2018-03-20 | 上海新浩艺软件有限公司 | 一种针对无盘服务器的Linux系统远程安装配置管理方法 |
| CN111414175A (zh) * | 2020-03-13 | 2020-07-14 | 苏州浪潮智能科技有限公司 | 操作系统的网络安装方法、系统、装置及可读存储介质 |
| CN112749095B (zh) * | 2021-01-15 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种切换操作系统执行测试任务的方法、系统及介质 |
-
2023
- 2023-12-14 CN CN202311720325.2A patent/CN117850815B/zh active Active
-
2024
- 2024-11-29 WO PCT/CN2024/135729 patent/WO2025124170A1/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1916846A (zh) * | 2005-08-17 | 2007-02-21 | 联想(北京)有限公司 | 操作系统的自动部署方法 |
| US20090013168A1 (en) * | 2007-07-03 | 2009-01-08 | Adaptec, Inc. | Systems and methods for automatic provisioning of storage and operating system installation |
| CN116301942A (zh) * | 2023-03-21 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种利旧方法、装置、计算机设备和存储介质 |
| CN117850815A (zh) * | 2023-12-14 | 2024-04-09 | 天翼云科技有限公司 | 基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117850815B (zh) | 2026-04-21 |
| CN117850815A (zh) | 2024-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11397588B2 (en) | Operating system installation mechanism | |
| US8245022B2 (en) | Method and system to support ISCSI boot through management controllers | |
| CN110908753A (zh) | 一种智能融合的云桌面服务器、客户端及系统 | |
| US12197939B2 (en) | Provisioning DPU management operating systems | |
| CN107291481B (zh) | 一种组件更新方法、装置和系统 | |
| CN110457073A (zh) | 一种申威服务器的预启动执行环境pxe可信启动方法 | |
| CN113741952B (zh) | 一种软件包管理方法、装置、设备及介质 | |
| CN117850815B (zh) | 基于PXE自适应硬盘驱动Linux操作系统的安装方法及系统 | |
| CN114756290A (zh) | 一种操作系统安装方法、设备及可读存储介质 | |
| WO2023155536A1 (zh) | 一种系统适配方法、装置及电子设备和存储介质 | |
| CN113741926B (zh) | 内核驱动程序的升级方法、装置、服务器及存储介质 | |
| US20240211246A1 (en) | Method and Apparatus for Upgrading Client Software | |
| CN110192191B (zh) | 操作系统取回 | |
| CN114816454B (zh) | 一种pxe服务器部署方法、装置、介质 | |
| CN110852139B (zh) | 生物特征识别方法、装置、设备以及存储介质 | |
| US20250147796A1 (en) | Provisioning dpu management operating systems | |
| CN116382713A (zh) | 构建应用镜像的方法、系统、设备和存储介质 | |
| US10572166B1 (en) | Firmware download for a solid state storage card | |
| CN115016862A (zh) | 基于Kubernetes集群的软件启动方法、装置、服务器及存储介质 | |
| WO2025256256A1 (zh) | 镜像文件的导入方法、装置、设备、存储介质及产品 | |
| US20190042592A1 (en) | Scalable access to shared files in a distributed system | |
| CN115622997B (zh) | 一种共享宿主字体库的方法、装置及存储介质 | |
| TWI740393B (zh) | 應用程式維護方法 | |
| CN118733080A (zh) | 一种远程更新计算机程序的方法、装置、电子设备及介质 | |
| EP3821336B1 (en) | Feature installer for software programs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24902592 Country of ref document: EP Kind code of ref document: A1 |