使用mkosi构建RHEL和RHEL UBI镜像(2)
使用mkosi构建RHEL和RHEL
上面的命令指定了发行版rhel-ubi,输出格式directory,并请求安装软件包bash、coreutils、…、rpm。rpm通常不需要放到镜像内部,但在这里用于内省会很有用。我们还启用了以 root 用户自动登录。
在启动构建之前,我们创建了缓存目录mkosi.cache。当存在缓存目录时,mkosi 会自动使用它来持久化下载的 RPM 包。这将使相同软件包集合的后续调用速度更快。
然后,我们可以使用systemd-nspawn将此镜像作为容器启动:
<code>$ sudo mkosi \</code>$ sudo mkosi \
-d rhel-ubi \
-t directory \
boot
systemd 252-14.el9_2.3 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
Detected virtualization systemd-nspawn.
Detected architecture x86-64.
Detected first boot.
Red Hat Enterprise Linux 9.2 (Plow)
...
[ OK ] Created slice Slice /system/getty.
[ OK ] Created slice Slice /system/modprobe.
[ OK ] Created slice User and Session Slice.
...
[ OK ] Started User Login Management.
[ OK ] Reached target Multi-User System.
Red Hat Enterprise Linux 9.2 (Plow)
Kernel 6.5.6-300.fc39.x86_64 on an x86_64
image login: root (automatic login)
[root@image ~]# rpm -q rpm systemd
rpm-4.16.1.3-22.el9.x86_64
systemd-252-14.el9_2.3.x86_64
正如前面提到的,此镜像可以用于启动虚拟机。但在此设置下,这是不可能的 —— 我们的镜像没有内核。事实上,RHEL UBI 根本不提供内核,因此我们无法使用它进行引导(无论是在虚拟机上还是在裸机上)。
创建镜像
我一开始说是要创建镜像,但到目前为止我们只有一个目录。让我们开始实际创建一个镜像:
$ mkosi \
-d rhel-ubi \
-t disk \
-p bash,coreutils,util-linux,systemd,rpm \
--autologin
这将生成 image.raw,一个带有 GPT 分区表和单个根分区(用于本机架构)的磁盘镜像。
$ sudo systemd-dissect image.raw
Name: image.raw
Size: 301.0M
Sec. Size: 512
Arch.: x86-64
Image UUID: dcbd6499-409e-4b62-b251-e0dd15e446d5
OS Release: NAME=Red Hat Enterprise Linux
VERSION=9.2 (Plow)
ID=rhel
ID_LIKE=fedora
VERSION_ID=9.2
PLATFORM_ID=platform:el9
PRETTY_NAME=Red Hat Enterprise Linux 9.2 (Plow)
ANSI_COLOR=0;31
LOGO=fedora-logo-icon
CPE_NAME=cpe:/o:redhat:enterprise_linux:9::baseos
HOME_URL=https://www.redhat.com/
DOCUMENTATION_URL=https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9
BUG_REPORT_URL=https://bugzilla.redhat.com/
REDHAT_BUGZILLA_PRODUCT=Red Hat Enterprise Linux 9
REDHAT_BUGZILLA_PRODUCT_VERSION=9.2
REDHAT_SUPPORT_PRODUCT=Red Hat Enterprise Linux
REDHAT_SUPPORT_PRODUCT_VERSION=9.2
Use As: ✗ bootable system for UEFI
✓ bootable system for container
✗ portable service
✗ initrd
✗ sysext extension for system
✗ sysext extension for initrd
✗ sysext extension for portable service
RW DESIGNATOR PARTITION UUID PARTITION LABEL FSTYPE ARCHITECTURE VERITY GROWFS NODE PARTNO
rw root 1236e211-4729-4561-a6fc-9ef8f18b828f root-x86-64 xfs x86-64 no yes /dev/loop0p1 1
相关阅读
-
蓝屏代码0x00000e4 蓝屏代码0x00000f4解决教程
为网友们解答蓝屏代码0x00000f4解决教程的相关知识,关于蓝屏代码0x00000e4 蓝屏代码0x00000f4解决教程,接下来一起来看看吧。 有的win10系统用户在开机的过程中出现蓝屏代码0x00000f4的问题,这可
-
win10提示框关闭方法 windows10如何关闭提示
小编为网友们解答win10提示框关闭方法的方法内容,关于win10提示框关闭方法 windows10如何关闭提示,具体内容如下: win10在打开一些软件时经常会弹出提示框,非常烦人。我们可以在控制面板的
-
共享文件怎么设置不能修改 win7更改了共享设置不能保存解决教程
今天小编介绍win7更改了共享设置不能保存解决教程的相关话题,关于共享文件怎么设置不能修改 win7更改了共享设置不能保存解决教程,接下来小编为网友介绍。 这两天有小伙伴在使用win7的文
-
win8无线网络不见了怎么办 关于win8设置无线网络的方法
小编为大家讲一讲win8无线网络不见了怎么办和关于win8设置无线网络的方法的IT知识,接下来IT袋带大家一起了解。 不能搜索到无线信号或找不到无线网络 主机在需要使用无线网络时,发现搜索


