From e5367bac84f0a5535761d8d581c783aab5b2fdca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Sj=C3=B6strom?= <lars@radicore.se> Date: Tue, 4 Mar 2025 14:20:13 +0100 Subject: [PATCH] chore: more clean up --- pkgs/rootfs/mkinitrd.sh | 24 +++++++++++++----------- pkgs/rootfs/mkrootfs.sh | 4 +++- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/pkgs/rootfs/mkinitrd.sh b/pkgs/rootfs/mkinitrd.sh index 7f948f7..43708d0 100644 --- a/pkgs/rootfs/mkinitrd.sh +++ b/pkgs/rootfs/mkinitrd.sh @@ -19,17 +19,6 @@ ln -sf /etc/os-release ./etc/initrd-release # set default target to initrd inside initrd ln -sf initrd.target ./usr/lib/systemd/system/default.target -# generate crypttab and fstab under /run -mkdir ./usr/lib/systemd/system/systemd-repart.service.d -cat <<EOF > ./usr/lib/systemd/system/systemd-repart.service.d/override.conf -[Unit] -After=sysroot-run.mount -Requires=sysroot-run.mount - -[Service] -ExecStart=systemd-repart --dry-run=no --generate-crypttab=/run/crypttab --generate-fstab=/run/fstab -EOF - # bind mount /run to /sysroot/run cat <<EOF > ./usr/lib/systemd/system/sysroot-run.mount [Unit] @@ -44,6 +33,19 @@ EOF mkdir ./usr/lib/systemd/system/initrd-fs.target.requires/ ln -sf ../sysroot-run.mount ./usr/lib/systemd/system/initrd-fs.target.requires/sysroot-run.mount +# repart: generate crypttab and fstab under /run +mkdir ./usr/lib/systemd/system/systemd-repart.service.d +cat <<EOF > ./usr/lib/systemd/system/systemd-repart.service.d/override.conf +[Unit] +After=sysroot-run.mount +Requires=sysroot-run.mount + +[Service] +Environment=SYSTEMD_REPART_MKFS_OPTIONS_BTRFS=--nodiscard +ExecStart= +ExecStart=systemd-repart --dry-run=no --generate-crypttab=/run/crypttab --generate-fstab=/run/fstab +EOF + # gen initrd find . -print0 | cpio --null --owner=root:root -o --format=newc | xz -9 --check=crc32 > ../initrd.xz diff --git a/pkgs/rootfs/mkrootfs.sh b/pkgs/rootfs/mkrootfs.sh index aedcf6a..8fdda39 100644 --- a/pkgs/rootfs/mkrootfs.sh +++ b/pkgs/rootfs/mkrootfs.sh @@ -46,6 +46,7 @@ ExecStart= ExecStart=-/sbin/getty -L %I 115200 vt100 EOF +# Configure systemd-repart cat <<EOF > $out/etc/repart.d/10-esp.conf [Partition] Type=esp @@ -73,7 +74,7 @@ SplitName=- EOF # as rootfs is read-only we need to configure the fstab and cryptsetup generators to look -# for config under /run (which are generated by systemd-repart) +# for config under /run (which are generated by systemd-repart in initrd) rm -f $out/etc/systemd/system.conf cat <<EOF > $out/etc/systemd/system.conf [Manager] @@ -81,6 +82,7 @@ DefaultEnvironment=PATH=/bin:/sbin:/usr/bin ManagerEnvironment=PATH=/bin:/sbin:/usr/bin SYSTEMD_CRYPTTAB=/run/crypttab SYSTEMD_SYSROOT_FSTAB=/run/fstab SYSTEMD_FSTAB=/run/fstab EOF +# Overlay mount for /etc which makes it read-write in runtime cat <<EOF > $out/usr/lib/systemd/system/etc.mount [Unit] Description=Overlay mount for /etc