Documentation survey

引导映像配置工具

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。请以您的口令哈希替换此示例中的值。