Merge pull request 'feat: start using systemd from main line' () from lsjostro/push-mvyvrwvlzwrr into main

Reviewed-on: 
This commit is contained in:
Lars Sjöström 2025-06-04 18:51:02 +02:00
commit 396a97cce4
3 changed files with 20 additions and 12 deletions

View file

@ -30,7 +30,7 @@ runCommand pname {
SYSTEMD_REPART_MKFS_OPTIONS_EROFS = "--all-root -zlz4hc,12 -C1048576 -Efragments,dedupe,ztailpacking";
};
kernelCmdLine = "console=ttyS0 patos.secureboot=${secureBoot}";
kernelCmdLine = "systemd.journald.forward_to_console=1 console=ttyS0 patos.secureboot=${secureBoot}";
}
''
mkdir -p $out/init.repart.d $out/final.repart.d
@ -141,6 +141,7 @@ cat <<EOF > init.repart.d/10-root.conf
Type=root
Format=erofs
Minimize=best
AddValidateFS=false
CopyFiles=/rootfs:/
Verity=data
VerityMatchKey=root
@ -152,6 +153,7 @@ cat <<EOF > init.repart.d/20-root-verity.conf
Type=root-verity
Verity=hash
VerityMatchKey=root
AddValidateFS=false
Minimize=best
SplitName=verity
EOF
@ -162,11 +164,13 @@ ${patosPkgs.systemd}/usr/bin/systemd-repart \
--no-pager \
--empty=create \
--size=auto \
--definitions=./init.repart.d \
--definitions=$out/init.repart.d \
--split=true \
--json=pretty \
--root=$out \
patos_$version.raw > init-repart-output.json && rm -f patos_$version.raw
patos_$version.raw > init-repart-output.json
rm -f patos_$version.raw
roothash=$(jq -r '.[0].roothash' init-repart-output.json)
rootPart=$(jq -r '.[0].split_path' init-repart-output.json)
@ -217,14 +221,14 @@ Type=esp
Format=vfat
SizeMinBytes=128M
SizeMaxBytes=128M
CopyFiles=/rootfs/boot:/
CopyFiles=$out/rootfs/boot:/
EOF
cat <<EOF > final.repart.d/20-root.conf
[Partition]
Type=root
Label=root-${version}
CopyBlocks=/$rootPart
CopyBlocks=$out/$rootPart
UUID=$rootUuid
SizeMinBytes=64M
SizeMaxBytes=64M
@ -235,7 +239,7 @@ cat <<EOF > final.repart.d/22-root-verity.conf
[Partition]
Type=root-verity
Label=verity-${version}
CopyBlocks=/$verityPart
CopyBlocks=$out/$verityPart
UUID=$verityUuid
ReadOnly=1
EOF
@ -246,7 +250,6 @@ ${patosPkgs.systemd}/usr/bin/systemd-repart \
--empty=create \
--size=auto \
--definitions=./final.repart.d \
--root=$out \
patos_${version}.img > final-repart-output.json
rm -rf rootfs init.repart.d final.repart.d *.json

View file

@ -35,7 +35,6 @@ find $out -type d -exec chmod 755 {} \;
rm -rf $out/usr/include
rm -rf $out/usr/sbin
ln -sf /usr/bin $out/usr/sbin
rm -f $out/usr/lib/systemd/system/sysinit.target.wants/systemd-firstboot.service
# enable in ramdisk instead
rm -f $out/usr/lib/systemd/system/sysinit.target.wants/systemd-repart.service
rm -f $out/usr/lib/systemd/system/initrd-root-fs.target.wants/systemd-repart.service
@ -206,7 +205,9 @@ chmod 600 $out/etc/shadow
rm -rf creds
# Ephemeral machine-id until registration
ln -sf /run/machine-id $out/etc/machine-id
# ln -sf /run/machine-id $out/etc/machine-id
# FIXME: above line does not work in systemd > 257
${patosPkgs.systemd}/usr/bin/systemd-machine-id-setup --root=$out
### Find and install all shared libs
find $out -type f -executable -exec ldd {} \; | awk '{print $3}' | \

View file

@ -7,7 +7,7 @@
...
}:
let
version = "257.6";
version = "devel";
# Use the command below to update `releaseTimestamp` on every (major) version
# change. More details in the commentary at mesonFlags.
@ -26,8 +26,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "systemd";
repo = "systemd";
rev = "v${version}";
hash = "sha256-mn/JB/nrOz2TOobu2d+XBH2dVH3vn/HPvWN4Zz6s+SM=";
rev = "959d7f1759d67994e3bed7b9d2f23e063475a872"; # main
hash = "sha256-IxGg0t/0GEllU4EPHqY2bwMDYwrQ5KWyE2QhwhTxqGs=";
};
patches = [ ./skip-verify-esp.patch ];
@ -137,6 +137,10 @@ stdenv.mkDerivation (finalAttrs: {
''
substituteInPlace meson.build \
--replace "find_program('clang'" "find_program('${stdenv.cc.targetPrefix}clang'"
'' +
''
substituteInPlace src/test/meson.build \
--replace "test_env.set('SYSTEMD_LANGUAGE_FALLBACK_MAP', language_fallback_map)" ""
''
+ ''
substituteInPlace src/ukify/ukify.py \