3.7. 创建 RHEL for Edge 镜像
使用以下步骤创建 ISO。RHEL for Edge Installer 镜像从正在运行的容器中拉取提交,并创建一个带有配置为使用嵌入式 rpm-ostree
提交的 Kickstart 文件的可安装的引导 ISO。
先决条件
- 您的构建主机满足 Image Builder 系统要求。
-
已安装并设置 Image Builder 和
composer-cli
工具。 - 有对构建主机的 root 用户访问权限。
-
已安装
podman
工具。
流程
运行以下命令启动
ostree
容器镜像构建:$ BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '{print $2}') 1
- 1
- 将 <microshift_blueprint > 替换为蓝图的名称。
此命令还会返回要监控的构建的标识(ID)。
您可以运行以下命令来定期检查构建的状态:
$ sudo composer-cli compose status
正在运行的构建的输出示例
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 RUNNING Wed Jun 7 12:26:23 2023 microshift_blueprint 0.0.1 edge-container
已完成构建的输出示例
ID Status Time Blueprint Version Type Size cc3377ec-4643-4483-b0e7-6b0ad0ae6332 FINISHED Wed Jun 7 12:32:37 2023 microshift_blueprint 0.0.1 edge-container
注意如果您熟悉如何启动和停止它,您可以使用
watch
命令监控构建。运行以下命令,使用 ID 下载容器镜像,并获取可供使用的镜像:
$ sudo composer-cli compose image ${BUILDID}
运行以下命令,将下载的容器镜像的所有权改为当前用户:
$ sudo chown $(whoami). ${BUILDID}-container.tar
运行以下命令,在镜像中为当前用户添加读取权限:
$ sudo chmod a+r ${BUILDID}-container.tar
通过完成以下步骤,在端口 8085 上引导服务器,供 ISO 构建使用
ostree
容器镜像:运行以下命令来获取
IMAGEID
变量结果:$ IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')
运行以下命令,使用
IMAGEID
变量结果来执行 podman 命令步骤:$ sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}
此命令还会返回在
IMAGEID
变量中保存的容器 ID,以进行监控。
运行以下命令来生成安装程序蓝图文件:
cat > microshift-installer.toml <<EOF name = "microshift-installer" description = "" version = "0.0.0" modules = [] groups = [] packages = [] EOF