14 使用 mksusecd 自定义安装映像 #
mksusecd
是一个可以创建自定义安装映像的有用工具。使用此工具可以修改普通的 SUSE Linux Enterprise 安装映像、添加或去除文件、创建精简的网络安装映像、自定义引导选项或软件源,以及创建一个精简的引导映像作为从 PXE 服务器引导系统的替代方式。
14.1 安装 mksusecd #
在 SLE 15 中,mksusecd
包含在 Development
Tools
模块中。如果此模块未启用,必须先启用它。使用 zypper
查找确切的模块名称和 SUSEConnect
激活命令:
>
zypper search-packages mksusecd
Following packages were found in following modules:
Package Module or Repository
-------------------- -------------------------------------------------------------------
---------------------- -----------------------------------------------------------------
mksusecd Development Tools Module (sle-module-development-tools/15.4/x86_64)
SUSEConnect --product sle-module-development-tools/15.4/x86_64
To activate the respective module or product, use SUSEConnect --product.
Use SUSEConnect --help for more details.
使用 SUSEConnect 启用该模块:
>
sudo
SUSEConnect --product sle-module-development-tools/15.4/x86_64
安装 mksusecd
:
>
sudo
zypper in mksusecd
运行 mksusecd --help
查看完整的命令列表。
创建自定义映像后,请使用您偏好的磁盘写入程序将它刻录到 CD/DVD 媒体,或使用 dd
命令创建可引导的 USB 闪存盘。确保设备未挂载,然后运行以下命令:
#
dd
if=myinstaller.iso of=/dev/SDB bs=4M
然后,新的可引导设备可供您使用。
14.2 创建精简引导映像 #
使用 mksusecd
创建一个精简引导映像,以便从 CD/DVD 或 USB 闪存盘启动客户端计算机,而无需从 PXE 引导服务器将其启动。精简引导映像将起动内核和 initrd,然后,将从本地 NFS 服务器提取剩余的安装文件(请参见第 16.1 节 “使用 YaST 设置安装服务器”)。
运行以下命令以创建精简 ISO 映像:
>
sudo
mksusecd
--create min-install.iso \ --net=nfs://192.168.1.1:/srv/install/ARCH/OS_VERSION/SP_VERSION/cd1 \ /srv/tftpboot/EFI/ARCH/boot
请将 NFS 服务器地址替换为您自己的地址。将 ARCH 替换为目标系统体系结构对应的目录。另外,请根据第 16.1 节 “使用 YaST 设置安装服务器”中的路径替换 OS_version 和 SP_VERSION(服务包)。
14.3 设置默认的内核引导参数 #
无需等待出现有关输入自定义内核引导参数的引导提示,而可以在自定义的 mksusecd
映像中配置这些参数:
>
sudo
mksusecd --create install.iso \ --boot "textmode=1 splash=silent mitigations=auto"
通过查询 /proc
,校验启动后是否可以正确装载您的自定义参数:
>
cat /proc/cmdline
14.4 自定义模块、扩展和软件源 #
SUSE Linux Enterprise 15 支持不同产品组件的模块(请不要与内核模块相混淆)和扩展。它们是默认 Basesystem
的外接式附件,包括 Development
Tools
、Desktop Applications
和 SUSE Linux Enterprise Live Patching
。有关详细信息,请参见Modules and Extensions Quick Start指南。
使用 mksusecd
可以创建一个包含全部所需附加模块和扩展的安装映像。首先,按以下示例所示查询 SUSE Linux Enterprise 15 SP5 的现有映像:
>
sudo
mksusecd --list-repos SLE-15-SP5-Full-ARCH-GM-media1.iso Repositories: Basesystem-Module [15.5-0] SUSE-CAP-Tools-Module [15.5-0] Containers-Module [15.5-0] Desktop-Applications-Module [15.5-0] Development-Tools-Module [15.5-0] HPC-Module [15.5-0] Legacy-Module [15.5-0] Live-Patching [15.5-0] Public-Cloud-Module [15.5-0] Python2-Module [15.5-0] SAP-Applications-Module [15.5-0] Server-Applications-Module [15.5-0] Transactional-Server-Module [15.5-0] Web-Scripting-Module [15.5-0] SLEHA15-SP5 [15.5-0] SLE-15-SP5-HPC [15.5-0] SLED15-SP5 [15.5-0] SLES15-SP5 [15.5-0] SLE-15-SP5-SAP [15.5-0] SLEWE15-SP5 [15.5-0] [...]
创建一个新的安装映像,该映像是从您选择并由系统自动启用的模块、扩展和软件源构建的:
>
sudo
mksusecd --create myinstaller.iso --enable-repos auto \ --include-repos Basesystem-Module,Desktop-Applications-Module \ SLE-15-SP5-Full-ARCH-GM-media1.iso
此示例创建一个可从互联网安装的映像。要创建可脱机安装的映像,请额外添加基础产品的软件源,例如 SUSE Linux Enterprise Server 的 SLES15-SP5
。
>
sudo
mksusecd --create myinstaller.iso --enable-repos auto \ --include-repos SLES15-SP5,Basesystem-Module,Desktop-Applications-Module \ SLE-15-SP5-Full-ARCH-GM-media1.iso
请将 --enable-repos auto
替换为 --enable-repos ask
,让安装程序显示一个用于选择模块的对话框。
使用 --enable-repos
选项时,mksusecd
会在新映像中添加一个与 AutoYaST 配合使用的 add_on_products.xml
文件。此文件中的模块不需要在 AutoYaST 控制文件中列出。
14.5 创建精简 netinstall ISO #
要创建一个精简安装映像以启动网络安装,请使用 --nano
选项:
>
sudo
mksusecd --create netinstall.iso \ --nano SLE-15-SP5-Online-ARCH-GM-media1.iso
14.6 更改默认软件源 #
要设置不同的软件源(例如您自己的本地软件源),请使用 --net
选项:
>
sudo
mksusecd --create localinstall.iso \ --net "https://example.com/local" SLE-15-SP5-Online-ARCH-GM-media1.iso