mkosi: Use shared extra tree between initrd and main image
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 24 Nov 2024 18:19:52 +0000 (19:19 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 25 Nov 2024 06:09:58 +0000 (15:09 +0900)
Let's share more between initrd and main system and use a shared
extra tree to achieve that.

14 files changed:
mkosi.conf
mkosi.coredump-journal-storage.conf [deleted file]
mkosi.extra.common/etc/issue [new file with mode: 0644]
mkosi.extra.common/usr/lib/systemd/coredump.conf.d/10-coredump-journal-storage.conf [new file with mode: 0644]
mkosi.extra.common/usr/lib/systemd/journald.conf.d/ratelimit.conf [new file with mode: 0644]
mkosi.extra.common/usr/lib/systemd/leak-sanitizer-suppressions [new file with mode: 0644]
mkosi.extra.common/usr/lib/systemd/system-preset/00-mkosi.preset [new file with mode: 0644]
mkosi.extra.common/usr/lib/systemd/system-preset/99-mkosi.preset [new file with mode: 0644]
mkosi.extra/etc/issue [deleted file]
mkosi.extra/usr/lib/systemd/journald.conf.d/ratelimit.conf [deleted file]
mkosi.extra/usr/lib/systemd/system-preset/00-mkosi.preset [deleted file]
mkosi.extra/usr/lib/systemd/system-preset/99-mkosi.preset [deleted file]
mkosi.images/initrd/mkosi.conf
mkosi.leak-sanitizer-suppressions [deleted file]

index f2389b7f012e553d6531d8701b8095e7f6bc8ceb..94c8697ded3aa2c9b5d3ce036f499521e4ffc60e 100644 (file)
@@ -38,9 +38,8 @@ SignExpectedPcr=yes
 
 [Content]
 ExtraTrees=
+        mkosi.extra.common
         mkosi.crt:/usr/lib/verity.d/mkosi.crt # sysext verification key
-        mkosi.leak-sanitizer-suppressions:/usr/lib/systemd/leak-sanitizer-suppressions
-        mkosi.coredump-journal-storage.conf:/usr/lib/systemd/coredump.conf.d/10-coredump-journal-storage.conf
         %O/minimal-0.root-%a.raw:/usr/share/minimal_0.raw
         %O/minimal-0.root-%a-verity.raw:/usr/share/minimal_0.verity
         %O/minimal-0.root-%a-verity-sig.raw:/usr/share/minimal_0.verity.sig
diff --git a/mkosi.coredump-journal-storage.conf b/mkosi.coredump-journal-storage.conf
deleted file mode 100644 (file)
index cde9785..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-[Coredump]
-Storage=journal
diff --git a/mkosi.extra.common/etc/issue b/mkosi.extra.common/etc/issue
new file mode 100644 (file)
index 0000000..6aa6fc0
--- /dev/null
@@ -0,0 +1,2 @@
+\S (built from systemd tree)
+Kernel \r on an \m (\l)
diff --git a/mkosi.extra.common/usr/lib/systemd/coredump.conf.d/10-coredump-journal-storage.conf b/mkosi.extra.common/usr/lib/systemd/coredump.conf.d/10-coredump-journal-storage.conf
new file mode 100644 (file)
index 0000000..cde9785
--- /dev/null
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+[Coredump]
+Storage=journal
diff --git a/mkosi.extra.common/usr/lib/systemd/journald.conf.d/ratelimit.conf b/mkosi.extra.common/usr/lib/systemd/journald.conf.d/ratelimit.conf
new file mode 100644 (file)
index 0000000..3baede4
--- /dev/null
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+[Journal]
+RateLimitIntervalSec=0
+RateLimitBurst=0
diff --git a/mkosi.extra.common/usr/lib/systemd/leak-sanitizer-suppressions b/mkosi.extra.common/usr/lib/systemd/leak-sanitizer-suppressions
new file mode 100644 (file)
index 0000000..639abb8
--- /dev/null
@@ -0,0 +1 @@
+leak:libselinux
diff --git a/mkosi.extra.common/usr/lib/systemd/system-preset/00-mkosi.preset b/mkosi.extra.common/usr/lib/systemd/system-preset/00-mkosi.preset
new file mode 100644 (file)
index 0000000..5a15e6b
--- /dev/null
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+# mkosi adds its own ssh units via the --ssh switch so disable the default ones.
+disable ssh.service
+disable sshd.service
+
+# These are started manually in integration tests so don't start them by default.
+disable dnsmasq.service
+disable isc-dhcp-server.service
+disable isc-dhcp-server6.service
+
+# Pulled in via dracut-network by kexec-tools on Fedora.
+disable NetworkManager*
+
+# Make sure dbus-broker is started by default on Debian/Ubuntu.
+enable dbus-broker.service
+
+# systemd-networkd is disabled by default on Fedora so make sure it is enabled.
+enable systemd-networkd.service
+enable systemd-networkd-wait-online.service
+
+# systemd-resolved is disable by default on CentOS so make sure it is enabled.
+enable systemd-resolved.service
+
+# We install dnf in some images but it's only going to be used rarely,
+# so let's not have dnf create its cache.
+disable dnf-makecache.*
+
+# We have journald to receive audit data so let's make sure we're not running auditd as well
+disable auditd.service
+
+# systemd-timesyncd is not enabled by default in the default systemd preset so enable it here instead.
+enable systemd-timesyncd.service
+
+# Enabled by default on OpenSUSE and not conditioned out in containers, so let's disable these here instead.
+disable iscsi.service
+disable iscsid.socket
+disable iscsiuio.socket
+
+# mkosi relabels the image itself so no need to do it on boot.
+disable selinux-autorelabel-mark.service
diff --git a/mkosi.extra.common/usr/lib/systemd/system-preset/99-mkosi.preset b/mkosi.extra.common/usr/lib/systemd/system-preset/99-mkosi.preset
new file mode 100644 (file)
index 0000000..710ee7c
--- /dev/null
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+# Make sure that services are disabled by default (primarily for Debian/Ubuntu).
+disable *
diff --git a/mkosi.extra/etc/issue b/mkosi.extra/etc/issue
deleted file mode 100644 (file)
index 6aa6fc0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-\S (built from systemd tree)
-Kernel \r on an \m (\l)
diff --git a/mkosi.extra/usr/lib/systemd/journald.conf.d/ratelimit.conf b/mkosi.extra/usr/lib/systemd/journald.conf.d/ratelimit.conf
deleted file mode 100644 (file)
index 3baede4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-[Journal]
-RateLimitIntervalSec=0
-RateLimitBurst=0
diff --git a/mkosi.extra/usr/lib/systemd/system-preset/00-mkosi.preset b/mkosi.extra/usr/lib/systemd/system-preset/00-mkosi.preset
deleted file mode 100644 (file)
index 5a15e6b..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-# mkosi adds its own ssh units via the --ssh switch so disable the default ones.
-disable ssh.service
-disable sshd.service
-
-# These are started manually in integration tests so don't start them by default.
-disable dnsmasq.service
-disable isc-dhcp-server.service
-disable isc-dhcp-server6.service
-
-# Pulled in via dracut-network by kexec-tools on Fedora.
-disable NetworkManager*
-
-# Make sure dbus-broker is started by default on Debian/Ubuntu.
-enable dbus-broker.service
-
-# systemd-networkd is disabled by default on Fedora so make sure it is enabled.
-enable systemd-networkd.service
-enable systemd-networkd-wait-online.service
-
-# systemd-resolved is disable by default on CentOS so make sure it is enabled.
-enable systemd-resolved.service
-
-# We install dnf in some images but it's only going to be used rarely,
-# so let's not have dnf create its cache.
-disable dnf-makecache.*
-
-# We have journald to receive audit data so let's make sure we're not running auditd as well
-disable auditd.service
-
-# systemd-timesyncd is not enabled by default in the default systemd preset so enable it here instead.
-enable systemd-timesyncd.service
-
-# Enabled by default on OpenSUSE and not conditioned out in containers, so let's disable these here instead.
-disable iscsi.service
-disable iscsid.socket
-disable iscsiuio.socket
-
-# mkosi relabels the image itself so no need to do it on boot.
-disable selinux-autorelabel-mark.service
diff --git a/mkosi.extra/usr/lib/systemd/system-preset/99-mkosi.preset b/mkosi.extra/usr/lib/systemd/system-preset/99-mkosi.preset
deleted file mode 100644 (file)
index 710ee7c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-# Make sure that services are disabled by default (primarily for Debian/Ubuntu).
-disable *
index ca28c123afd0429536e2d5b52a7fda889eab86a5..b76b47ecdaa3289df004b0ec30d27924b87e04ec 100644 (file)
@@ -6,9 +6,7 @@ Include=
         %D/mkosi.sanitizers
 
 [Content]
-ExtraTrees=
-        %D/mkosi.leak-sanitizer-suppressions:/usr/lib/systemd/leak-sanitizer-suppressions
-        %D/mkosi.coredump-journal-storage.conf:/usr/lib/systemd/coredump.conf.d/10-coredump-journal-storage.conf
+ExtraTrees=%D/mkosi.extra.common
 
 Packages=
         findutils
diff --git a/mkosi.leak-sanitizer-suppressions b/mkosi.leak-sanitizer-suppressions
deleted file mode 100644 (file)
index 639abb8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-leak:libselinux