引导映像配置工具

SUSE Manager VM 映像通过 JeOS Firstboot 配置对话框来准备。现在您不一定要使用 Ignition 等引导映像配置工具。

1. 使用 Ignition 进行 SUSE Manager 基本配置

Ignition 是可用于在首次引导时根据您指定的设置配置系统的置备工具。系统首次引导时,Ignition 会作为 initramfs 的一部分加载,并会在特定目录内(USB 闪存盘上,或者您可以提供 URL)搜索配置文件。

Ignition 会使用 JSON 格式的配置文件。该文件名为 config.ign

config.ign 是 JSON 配置文件,提供针对 Ignition 的指令。您可以手动创建 JSON 格式的文件,也可以使用 Fuel Ignition 工具生成一组基本的指令。Fuel Ignition 工具不提供完整的选项集,因此您可能需要手动修改该文件。有关详细信息,请参见 https://ignite.opensuse.org/

安装时,配置文件 config.ign 必须位于名为 ignition 的配置媒体上的 ignition 子目录中。目录结构必须如下所示:

<根目录>
└── ignition
    └── config.ign

如果您打算配置 QEMU/KVM 虚拟机,请以 qemu 命令的属性的形式提供 config.ign文件的路径。例如:

-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign

config.ign 文件包含各种数据类型:对象、字符串、整数、布尔值以及对象列表。有关完整规范,请参见 https://coreos.github.io/ignition/configuration-v3_3/

1.1. 使用 Ignition 设置 root 口令

SUSE Manager VM 映像不会设置 root 或任何其他用户帐户。用户或 root 身份验证需要在首次引导期间设置。可以使用 passwd 属性来添加用户。如果您打算登录系统,请创建 root 并设置其口令,并且/或者在 Ignition 配置中添加 SSH 密钥。您需要对 root 口令进行哈希处理,例如,使用以下 openssl 命令来处理:

openssl passwd -6

该命令会创建您所选口令的哈希。请使用此哈希作为 passwordHash 属性的值。

users 属性必须至少包含一个 name 属性。ssh_authorized_keys 是该用户的一系列 SSH 密钥。

创建包含以下内容的 root/ignition/config.ign 文件:

{
  "ignition": {
    "version": "3.2.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "$2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K"
      }
    ]
  }
}

使用以下命令准备 Ignition ISO 文件:

mkisofs -full-iso9660-filenames -o suma_ignition.iso -V ignition root

首次引导时,将创建的 suma_ignition.iso 文件作为一个卷挂接到虚拟机。此特定示例会将 root 口令设置为 linux。请以您的口令哈希替换此示例中的值。