diskimage-create element 元素分析

这个博客详细列出了各种Linux发行版相关的构建元素,包括用于配置apt、apt偏好、apt源、裸机硬件支持、基础系统构建、引导加载器安装、云初始化、包管理、系统初始化系统处理、镜像生成、网络配置、硬件支持、部署策略、用户管理、服务配置、日志管理、安全特性、模块管理、包安装和卸载、源代码仓库、接口命名、系统调优、服务映射、系统准备、虚拟机配置、容器镜像构建、软件包安装、系统服务、系统初始化、硬件测试、硬件发现、网络接口初始化、固件更新、Python环境、缓存管理、包映射、安全模式、基本系统启动、源代码安装、包映射、镜像构建工具、ramdisk构建、初始化脚本、系统服务管理、服务映射、sysctl配置、系统准备、TPM支持、UBoot配置、系统服务映射、软件TPM模拟、系统引导加载程序等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

elements

apt-conf此元素覆盖基于 APT 的系统的默认 apt.conf。
apt-preference该元素根据manifests元素提供的清单生成 APT 首选项文件。PT 首选项文件可用于控制选择安装哪些版本的软件包。APT 使用优先级系统来做出此决定。
apt-sources指定一个 apt sources.list 文件,该文件在映像构建期间使用,然后在运行时保留在映像上
baremetal这是裸机硬件的元素(适用于裸金属镜像)
base构建磁盘的基本要素DIB_CLOUD_INIT_ETC_HOSTS用来定制云init的管理/etc/cloud/cloud.cfg.d/10_etc_hosts.cfgDIB_AVOID_PACKAGES_UPDATE 默认值为零更新所有包
block device EFI这为vm元素提供了块设备配置,以获得适合 EFI 引导的单分区磁盘。此元素要求mkfs.vfat命令在构建系统上可用。
block Device EFI LVM提供块设备配置以获得适合EFI引导的磁盘
block device GPT这为vm元素提供了块设备配置以获取基于 GPT 的单分区磁盘
block device MBR这为vm元素提供了块设备配置以获得基于MBR的单分区磁盘
bootloader安装grub[2]在系统的引导分区上。
cache-url

用于将图像下载到本地缓存的辅助脚本。

centos使用centos 的云镜像作为构建磁盘镜像的基线Use of this element will require ‘yum’ and ‘yum-utils’ to be installed on Ubuntu and Debian. Nothing additional is needed on Fedora or CentOS.
centos-minimal 创建minimal centos镜像
clenup-kernel-initrd清除未被使用的内核和块设备
cloud-init为未预装的系统安装并启用cloud-init,目前只支持gentoo操作系统
cloud-init-datasources将 cloud-init 配置为仅使用明确的数据源列表。
cloud-init-disable-resizefs
cloud-init-nocloud
debian这个元素是基于debian-minimalcloud-init和安装相关的工具。这会产生更像标准上游云图像的东西。
debian-minimaldebian-minimal元素使用 debootstrap 生成最小图像
debian-systemd您可能想要使用systemd而不是经典的 sysv init 系统。在这种情况下,请将此元素包含在您的元素列表中。
debian-upstart默认情况下,Debian 将使用 sysvinit 进行引导。如果您想尝试使用 Upstart,或者由于需要 upstart 工作而需要它,此元素将使用 upstart 作为 init 系统构建映像。请注意,这适用于debian元素,而不是 debian-minimal元素。
debootstrap用于创建最小的基于 debian 的图像的基本元素。这个元素本身是不完整的,你需要使用像 debian-minimal 或 ubuntu-minimal 这样的元素来获取实际的基本图像。
deploy-baremetal一个 ramdisk,它将通过 iSCSI 公开机器主磁盘,并在baremetal-deploy-helper 发出信号完成后重新启动。
deploy-kexec一旦baremetal-deploy-helper 通过tftp 下载内核和ramdisk 并使用kexec 实用程序表明它已完成,就会引导到新映像。
deploy-targetcli

使用 targetcli 部署 ramdisk提供必要的脚本和依赖项,以使用 targetcli 导出部署 ramdisk 中的 iSCSI 目标。

作为 dracut 模块实现,因此仅适用于基于 dracut 的 ramdisk。

deploy-tgtadm

使用 tgtadm 和 tgtd 部署 ramdisk

提供必要的脚本和依赖项,以使用 tgtadm 和 tgtd 导出部署 ramdisk 中的 iSCSI 目标。

devuser创建一个开发/调试用户
dhcp-all-interface在启动期间自动检测网络接口并为DHCP配置他们
dib-init-system处理所用目标初始化系统各个方面的元素。
dib-python此元素已弃用。所有发行版都支持 Python 3,
dib-run-parts此元素已弃用,
disable-nouveau

黑名单新模块

安装 NVIDIA GPU 驱动程序时需要这样做,以避免 NVIDIA GPU 的 PCI 直通问题。

disable-selinux包含此元素会禁用 SELinux。
dkms

这是 dkms(动态内核模块系统)元素。

某些发行版(例如 Fedora 和 Ubuntu)在其包装中包含 DKMS。在这些发行版中,包含 dkms 是合理的。其他基于 RHEL 的衍生产品不包括 DKMS,因此这些发行版不应使用 DKMS 元素。

docker从docker容器中创建镜像
dpkg提供dpkg特定的镜像构建胶。
dracut-network这个元素在 Pike cycle中被删除了。请考虑使用 dracut-regenerate 元素代替。

dracut-ramdisk

构建基于 Dracut 的 ramdisk
添加了在图像构建时重新生成 dracut 的可能性,从而提供了加载额外模块的可能性。
此元素在映像中插入一个帮助程序脚本,允许用户在启动时动态配置凭据。这对于故障排除特别有用。
写入一个清单文件,该文件是用于构建映像的元素的完整列表。
在活动的串行控制台上启动 getty。
一个简单的元素来确保python3 -m venv可以工作。
此元素安装 Extra Packages for Enterprise Linux (EPEL) 存储库 GPG 密钥以及 yum 配置。
使用 Fedora 云镜像作为构建磁盘镜像的基线
创建一个基于 Fedora 容器镜像的最小镜像
创建一个基于 Fedora 的最小镜像。
使用 Gentoo 云镜像作为构建磁盘镜像的基线
在第一次启动时增加根分区。
在第一次启动时增加一个或多个 LVM 卷。
grub2在镜像上安装grub2引导加载程序,这是Ironic 中的本地引导功能正常工作所必需的

这是 hpdsa 元素。

当在 ramdisk/映像创建期间调用时,此元素使 'hpdsa' 驱动程序能够包含在 ramdisk 中。

部署带有动态智能阵列控制器的 HP Proliant 服务器 Gen9 需要此驱动程序。

硬件测试 ramdisk - 锻炼机器 RAM 和锻炼硬盘
用于向库存服务报告机器硬件的 ramdisk。
使用通过 iBFT 提供的信息初始化网络接口。
Ramdisk 支持应用 HP iLO 固件。
将元素的 bin 目录中的任何文件添加到创建的映像中的 /usr/local/bin 中,权限为 0755。
将静态文件复制到构建的映像中。

为元素启用安装类型支持。

安装类型允许从不同来源安装元素,例如 git 存储库、分发包或 pip。默认安装类型是“源”

iscsi-boot将iscsi 作为远程根文件系统
处理磁盘配置,使其能够通过 iSCSI 用作远程根文件系统。目前,该元素可以配置 Ubuntu/Debian 映像和 CentOS 映像。
从元素生成的内核/ramdisk 生成可引导的 ISO 映像baremetalironic-python-agent-ramdisk(来自 Ironic-python-agent-builder)或ramdisk. 它使用 isolinux 在 BIOS 机器上启动,使用 grub 在 EFI 机器上启动。

此元素已在以下发行版上测试过: * ubuntu * fedora * debian

注意:对于其他发行版,请确保该isolinux.bin文件存在于/usr/lib/syslinux/isolinux.bin.

配置 systemd 的日志以将所有日志发送到控制台。用于在登录主机之前调试问题,例如网络或身份验证问题。
这是一个开源远程启动证明和运行时完整性测量系统。Keylime 代理是 Keylime 套件的一个组件,它运行在我们在清理和部署步骤中证明的裸机节点上。Keylime regisrar 是所有在 Keylime 注册的代理的数据库,并托管 TPM 供应商的公钥。
将 .ssh/authorized_keys 和 $http_proxy 等本地用户设置复制到映像中。
这是 Ubuntu Xenial 的 LVM 支持元素
用于保存构建期间生成的清单信息以供以后检查的框架。清单保存在最终映像中,并在映像创建后复制到构建区域。
强制支持 Mellanox 硬件
允许在图像上配置特定的 modprobe 选项。
使用 modprobe.d/blacklist.conf 将特定模块列入黑名单
这是一个 noop 元素,可用于向 diskimage-builder 指示它不应该费心从生成的文件系统中创建最终映像
此元素在映像上安装 oat-client,这是 Ironic 中受信任的启动功能正常工作所必需的。
openeuler-minimal从头开始创建一个minimal镜像
从头开始创建一个最小的图像。
此元素可确保在引导期间安装并启用 openssh 服务器。
此元素包含用于以通用方式为 openstack ci 门测试设置镜像的各种设置。它旨在用作在门中运行的测试元素的依赖项。它不应该在那个环境之外做任何事情。
使用 openSUSE 云镜像作为构建磁盘镜像的基线。

这个元素将构建一个最小的 openSUSE 镜像。它需要在主机上安装“zypper”。

这些图像应该被认为是实验性的。目前只有 x86_64 图像。

package-installs 元素允许使用声明性方法为映像构建安装和卸载包。
此元素在映像中安装 pip 和 virtualenv。
使用下载缓存可以加快图像构建速度。
将包名称映射到发行版特定的包。
此元素安装包以确保生成的图像具有满足 POSIX 要求所需的二进制文件

这个元素可以在构建 ironic-python-agent ramdisk 时使用。它使 Ironic-python-agent ramdisk 能够执行特定于 HPE ProLiant 硬件的带内清理操作。

使用自定义 PyPI 镜像来构建图像。默认是将挂载从 ~/.cache/image-create/pypi/mirror 绑定到构建环境作为镜像 URL file:///tmp/pypi。该元素临时覆盖 /root/.pip.conf 以使用它。

此元素旨在提供 cinder 本地附加/分离功能。

安装 Python 最新次要版本的元素

这是 ramdisk 元素。

几乎所有构建 ramdisk 的用户都希望将其包含在他们的构建中,因为它会触发基本磁盘映像构建器库中的许多重要功能(例如初始化脚本聚合、busybox 填充等)。

所有不同 ramdisk 元素所需的共享功能。

Rackspace Cloud 的图像目前需要 nova-agent 来获取网络信息。
RHEL、CentOS、Fedora和openEuler通用的镜像安装步骤。
使用 RHEL 云镜像作为构建磁盘镜像的基线。
此元素已弃用,仅用于向后兼容。请改用rhel元素。
此元素包含 RHEL 操作系统版本之间的常见安装步骤。
基于 RPM 的分布的基本元素。
在首次启动时生成 SSH 主机密钥的元素。
用于获取内核和 initrd 映像的帮助脚本。

通过将 SELINUX=permissive 写入 /etc/selinux/config 将 selinux 置于许可模式

调试 selinux 问题时启用此元素。

启动前无法完成的基本网络和系统配置
使用这个元素,其他元素可以通过将它们的详细信息放在文件中来注册它们的安装源source-repository-*
通过安装 biosdevname 并删除任何可能禁用 udev 规则等的符号链接,启用稳定的网络接口命名(em1、em2 等)
将服务名称映射到发行特定服务。
添加可以从元素内运行的 sysctl-set-value 命令。
此元素包含所有发行版通用的配置和脚本。
此元素应与 keylime-agent 元素一起使用。Keylime 可与软件 TPM 仿真器一起用于开发目的。

为 UBoot 执行内核/initrd 后处理。

此元素有助于对内核/initrd 进行后处理以与 uboot 一起使用。它适用于 ramdisk 图像以及用户图像。

此元素需要在主机上安装 u-boot-tools。
使用 Ubuntu 云镜像作为构建磁盘镜像的基线。
此元素包含所有 Ubuntu 映像通用的配置和脚本。
ubuntu-minimal元素使用 debootstrap 生成最小图像。相比之下,该ubuntu元素使用云图像作为初始基础。
ubuntu-signed元素安装linux-signed-image-generic 提供可用于在 UEFI 安全启动模式下部署的签名内核。
ubuntu-systemd-container元素使用 debootstrap 生成供机器容器使用的最小映像。
vm设置一个分区磁盘
用于创建最小的基于 yum 的图像的基本元素。
设置一个分区磁盘(而不是只构建一个没有分区表的文件系统)。
Zipl 是 s390x 的引导程序。此元素将 zipl 安装在包含系统上 /boot 目录的基本设备上。
该元素为基于 zypper 的发行版(如 SLES 和 openSUSE)提供了一些自定义。
zypper-minimal创建minimal suse-based镜像 
用于创建基于 SUSE 的最小映像的基本元素此元素本身并不完整,因此您可能希望将其与 opensuse-minimal 元素一起使用。它需要在主机上安装“zypper”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值