6.10. 使用 bootc-image-builder ,使用 Kickstart 文件构建 ISO 镜像


您可以使用 bootc-image-builder 工具创建可安装的 ISO 镜像。anaconda-iso 或 iso 镜像类型会创建一个可引导程序,它使用 Anaconda 安装程序将 bootc 镜像部署到目标系统。

重要

使用 bootc-image-builder 创建并部署可引导 ISO 镜像,作为技术预览提供。此工作流依赖于 %ostreecontainer Kickstart 命令,它是一个技术预览功能。红帽产品服务级别协议(SLA)不支持技术预览功能,且其功能可能并不完善,因此红帽不建议在生产环境中使用它们。如需更多信息,请参阅技术预览功能支持范围。

先决条件

  • 您已在主机机器上安装了 Podman。
  • 您有运行 bootc-image-builder 工具的 root 访问权限,并在 --privileged 模式下运行容器,以构建镜像。

流程

  1. 创建 Kickstart 文件。以下 Kickstart 文件是一个完全无人值守的 Kickstart 文件配置示例,其中包含用户创建、启用本地化模块和分区说明。

    #Enable the Anaconda Localization module on RHEL to enable keyboard or locale changes
    [customizations.installer.modules]
    enable = ["org.fedoraproject.Anaconda.Modules.Localization"]
    
    [customizations.installer.kickstart]
    contents = """
    lang en_GB.UTF-8
    keyboard uk
    timezone CET
    
    user --name <user> --password <password> --plaintext --groups <groups>
    sshkey --username <user> ssh-<type> <public key>
    rootpw --lock
    
    zerombr
    clearpart --all --initlabel
    autopart --type=plain
    reboot --eject
    """
  2. 以 toml 格式保存 Kickstart 配置,以注入 Kickstart 内容。例如,config.toml。
  3. 运行 bootc-image-builder,并包含您要添加到 ISO 构建的 Kickstart 文件配置。bootc-image-builder 会自动添加安装容器镜像的 ostreecontainer 命令。

    $ sudo podman run \
        --rm \
        -it \
        --privileged \
        --pull=newer \
        --security-opt label=type:unconfined_t \
        -v /var/lib/containers/storage:/var/lib/containers/storage \
        -v ./config.toml:/config.toml \
        -v ./output:/output \
        registry.redhat.io/rhel10/bootc-image-builder:latest \
        --type iso \
        --config /config.toml \
      quay.io/<namespace>/<image>:<tag>

    您可以在输出目录中找到 .iso 镜像。

后续步骤

  • 您可以对无人值守安装方法(如 USB 盘或 Install-on-boot)使用 ISO 镜像。可安装的引导 ISO 包含一个配置的 Kickstart 文件。安装程序会根据 Kickstart 文件中的 非互动 标记自动运行,应用您定义的自定义 LVM 分区。请参阅 使用 Anaconda 和 Kickstart 部署容器镜像。

    警告

    在带有现有操作系统或数据的机器上引导 ISO 可能是破坏性的,因为 Kickstart 被配置为自动重新格式化系统上的第一块磁盘。

  • 您可以对镜像进行更新,并将更改推送到注册中心。请参阅 管理 RHEL 可引导镜像。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部