From a32d6161bbfab006ef80835c314a7008273a9143 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sat, 20 Apr 2024 12:29:48 +0200 Subject: [PATCH 1/8] mkosi: Update to latest --- .github/workflows/mkosi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mkosi.yml b/.github/workflows/mkosi.yml index 56f62e67ea..8110395262 100644 --- a/.github/workflows/mkosi.yml +++ b/.github/workflows/mkosi.yml @@ -74,7 +74,7 @@ jobs: steps: - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - - uses: systemd/mkosi@236784dbb597321eedab50cef06cc49f92c57293 + - uses: systemd/mkosi@6ab7d9f09f8f2633f4b7c777a04e62e109486e2f # Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space # immediately, we remove the files in the background. However, we first move them to a different location From 1531413efaf2e6b7e278bf8d4f53cc61f6559327 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 19 Apr 2024 22:06:26 +0200 Subject: [PATCH 2/8] mkosi: Make sure serial console line wrapping is re-enabled --- mkosi.images/system/mkosi.postinst.chroot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mkosi.images/system/mkosi.postinst.chroot b/mkosi.images/system/mkosi.postinst.chroot index d1052694aa..8a00ca9f68 100755 --- a/mkosi.images/system/mkosi.postinst.chroot +++ b/mkosi.images/system/mkosi.postinst.chroot @@ -2,6 +2,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later set -e +# Make sure serial console line wrapping is re-enabled as qemu's seabios firmware disables serial console +# line-wrapping on boot. +echo "tput smam || :" >>/etc/profile + if [ -n "$SANITIZERS" ]; then LD_PRELOAD=$(ldd /usr/lib/systemd/systemd | grep libasan.so | awk '{print $3}') From 865f67701ce8a7d2fd8e7c57480f577dd6044a8f Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sat, 20 Apr 2024 09:43:14 +0200 Subject: [PATCH 3/8] mkosi: Disable rpm package notes This introduces dependencies on various environment variables set by rpmbuild which will not be set when rerunning meson inside the VM/container so let's disable package notes to avoid these dependencies, as the package notes aren't terribly useful in this scenario anyway. --- .../system/mkosi.conf.d/10-centos-fedora/mkosi.build.chroot | 1 + 1 file changed, 1 insertion(+) diff --git a/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.build.chroot b/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.build.chroot index 6ef39bc4ef..8c4c2469ae 100755 --- a/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.build.chroot +++ b/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.build.chroot @@ -74,6 +74,7 @@ ANNOBIN="no-active-checks" rpmbuild \ --define "_find_debuginfo_dwz_opts %{nil}" \ --define "_fortify_level 0" \ --undefine _lto_cflags \ + --undefine _package_note_flags \ --noclean \ "pkg/$ID/systemd.spec" From 27e7b633bb6088cb15af322e69199aa683e9be37 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sat, 20 Apr 2024 13:28:35 +0200 Subject: [PATCH 4/8] mkosi: Make sure ping is installed Required for test-bpf-firewall. --- mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf | 1 + mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.conf | 3 ++- mkosi.images/system/mkosi.conf.d/10-debian-ubuntu/mkosi.conf | 1 + mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf index 92d58292f4..2ea81c83b2 100644 --- a/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf @@ -25,6 +25,7 @@ Packages= git gnutls iproute + iputils linux man-db openbsd-netcat diff --git a/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.conf index 4344b51fa0..294e4cdf28 100644 --- a/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-centos-fedora/mkosi.conf @@ -30,6 +30,7 @@ Packages= integritysetup iproute iproute-tc + iputils kernel-core libasan libcap-ng-utils @@ -41,6 +42,7 @@ Packages= p11-kit pam passwd + policycoreutils polkit procps-ng quota @@ -50,7 +52,6 @@ Packages= selinux-policy selinux-policy-targeted setools-console - policycoreutils util-linux vim-common diff --git a/mkosi.images/system/mkosi.conf.d/10-debian-ubuntu/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-debian-ubuntu/mkosi.conf index 7144d73f10..ce80e5513f 100644 --- a/mkosi.images/system/mkosi.conf.d/10-debian-ubuntu/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-debian-ubuntu/mkosi.conf @@ -46,6 +46,7 @@ Packages= fdisk git-core iproute2 + iputils-ping isc-dhcp-server libcap-ng-utils libtss2-rc0 diff --git a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf index dbc6f945af..b70779852a 100644 --- a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf @@ -37,6 +37,7 @@ Packages= glibc-locale-base grep gzip + iputils kernel-kvmsmall kmod libasan8 From 4edc85a6c9a81265c12ae34e56f38749e16a0fc0 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sat, 20 Apr 2024 14:22:27 +0200 Subject: [PATCH 5/8] mkosi: Make sure systemd-libs is updated on Arch The Arch Linux PKGBUILD does not (yet) have versioned dependencies between the systemd packages, causing systemd-libs to not get updated to 256-devel if systemd 256-devel is installed. Let's explicitly install the newer version of systemd-libs as well for now until this problem is fixed. --- mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf index 2ea81c83b2..da59e0469f 100644 --- a/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf @@ -6,10 +6,11 @@ Distribution=arch [Content] VolatilePackages= systemd - systemd-ukify - systemd-sysvcompat + systemd-libs systemd-resolvconf + systemd-sysvcompat systemd-tests + systemd-ukify Packages= bpf @@ -46,4 +47,5 @@ InitrdPackages= InitrdVolatilePackages= systemd + systemd-libs systemd-sysvcompat From 245387721b4ea4ebe9e67bf02497176a72daeb10 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sat, 20 Apr 2024 15:55:34 +0200 Subject: [PATCH 6/8] mkosi: Install procps-ng in all images Required for TEST-01-BASIC. --- mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf | 1 + mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf index da59e0469f..cf5d4f3103 100644 --- a/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf @@ -35,6 +35,7 @@ Packages= pacman pkgconf polkit + procps-ng quota-tools sbsigntools shadow diff --git a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf index b70779852a..ca020bcf9c 100644 --- a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf @@ -47,6 +47,7 @@ Packages= openssh-server pam patterns-base-minimal_base + procps4 python3-pefile quota rpm-build From 9fd52adacf0909081ffe58e75c95935a75a8d164 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sun, 21 Apr 2024 20:49:14 +0200 Subject: [PATCH 7/8] mkosi: Backport Fedora basic users/groups sysusers files to CentOS CentOS does not ship these sysusers dropins which set up basic system users and groups. Until we can move to CentOS Stream 10, let's add the dropins ourselves to make sure the base system users/groups are available on CentOS. --- .../usr/lib/sysusers.d/20-setup-groups.conf | 24 +++++++++++++++++++ .../usr/lib/sysusers.d/20-setup-users.conf | 13 ++++++++++ 2 files changed, 37 insertions(+) create mode 100644 mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-groups.conf create mode 100644 mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-users.conf diff --git a/mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-groups.conf b/mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-groups.conf new file mode 100644 index 0000000000..d69ff91cc3 --- /dev/null +++ b/mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-groups.conf @@ -0,0 +1,24 @@ +g root 0 +g bin 1 +g daemon 2 +g sys 3 +g adm 4 +g tty 5 +g disk 6 +g lp 7 +g mem 8 +g kmem 9 +g wheel 10 +g cdrom 11 +g mail 12 +g man 15 +g dialout 18 +g floppy 19 +g games 20 +g tape 33 +g video 39 +g ftp 50 +g lock 54 +g audio 63 +g users 100 +g nobody 65534 diff --git a/mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-users.conf b/mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-users.conf new file mode 100644 index 0000000000..bea0ab3447 --- /dev/null +++ b/mkosi.images/system/mkosi.conf.d/10-centos/mkosi.extra/usr/lib/sysusers.d/20-setup-users.conf @@ -0,0 +1,13 @@ +u root 0:0 "Super User" /root /bin/bash +u bin 1:1 "bin" /bin - +u daemon 2:2 "daemon" /sbin - +u adm 3:4 "adm" /var/adm - +u lp 4:7 "lp" /var/spool/lpd - +u sync 5:0 "sync" /sbin /bin/sync +u shutdown 6:0 "shutdown" /sbin /sbin/shutdown +u halt 7:0 "halt" /sbin /sbin/halt +u mail 8:12 "mail" /var/spool/mail - +u operator 11:0 "operator" /root - +u games 12:100 "games" /usr/games - +u ftp 14:50 "FTP User" /var/ftp - +u nobody 65534:65534 "Kernel Overflow User" - - From fa15d444be39384a905568f4666872c49a3ddb61 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sun, 21 Apr 2024 21:37:39 +0200 Subject: [PATCH 8/8] mkosi: Install various system users/groups in opensuse images These don't get pulled in automatically and there doesn't seem to be a "system-users" package so install the ones we need for the integration tests manually. --- .../system/mkosi.conf.d/10-opensuse/mkosi.conf | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf index ca020bcf9c..5bcf7b8efd 100644 --- a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf +++ b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf @@ -36,6 +36,11 @@ Packages= git-core glibc-locale-base grep + group(bin) + group(daemon) + group(games) + group(nobody) + group(root) gzip iputils kernel-kvmsmall @@ -56,6 +61,11 @@ Packages= sed shadow timezone + user(bin) + user(daemon) + user(games) + user(nobody) + user(root) vim xz