diff --git a/changelog/updates/2025-12-08-update-systemd.md b/changelog/updates/2025-12-08-update-systemd.md new file mode 100644 index 0000000000..62c801457d --- /dev/null +++ b/changelog/updates/2025-12-08-update-systemd.md @@ -0,0 +1 @@ +- systemd (258.2) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch index 1ba8f64500..6cbf8caa1b 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch @@ -1,7 +1,7 @@ -From 83043596b6cc74b6f049999fa660afd983dc493a Mon Sep 17 00:00:00 2001 +From 61ae07bbf1d7032eef32137b1fe299647602e3de Mon Sep 17 00:00:00 2001 From: David Michael Date: Tue, 16 Apr 2019 02:44:51 +0000 -Subject: [PATCH 1/8] wait-online: set --any by default +Subject: [PATCH] wait-online: set --any by default The systemd-networkd-wait-online command would normally continue waiting after a network interface is usable if other interfaces are @@ -11,22 +11,22 @@ Preserve previous Container Linux behavior for compatibility by setting the --any flag by default. See patches from v241 (or earlier) for the original implementation. --- - src/network/wait-online/wait-online.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/network/wait-online/wait-online.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/network/wait-online/wait-online.c b/src/network/wait-online/wait-online.c -index 6f5aef903a..0acb3e76b9 100644 +index b1d0b9cde2..e07c11d807 100644 --- a/src/network/wait-online/wait-online.c +++ b/src/network/wait-online/wait-online.c -@@ -21,7 +21,7 @@ static Hashmap *arg_interfaces = NULL; +@@ -24,7 +24,7 @@ static Hashmap *arg_interfaces = NULL; static char **arg_ignore = NULL; static LinkOperationalStateRange arg_required_operstate = LINK_OPERSTATE_RANGE_INVALID; static AddressFamily arg_required_family = ADDRESS_FAMILY_NO; -static bool arg_any = false; +static bool arg_any = true; + static bool arg_requires_dns = false; - STATIC_DESTRUCTOR_REGISTER(arg_interfaces, hashmap_free_free_freep); - STATIC_DESTRUCTOR_REGISTER(arg_ignore, strv_freep); + STATIC_DESTRUCTOR_REGISTER(arg_interfaces, hashmap_freep); -- 2.51.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch index d380b96a9c..0bbf3aff06 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -1,7 +1,7 @@ -From 8064e1544a2b89f8389c0469ed4879a287a045a7 Mon Sep 17 00:00:00 2001 +From 306da1d06e84a721ac34fbc303b4629b2c1c7257 Mon Sep 17 00:00:00 2001 From: Sayan Chowdhury Date: Fri, 16 Dec 2022 16:28:26 +0530 -Subject: [PATCH 5/8] Revert "getty: Pass tty to use by agetty via stdin" +Subject: [PATCH] Revert "getty: Pass tty to use by agetty via stdin" This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. @@ -17,15 +17,15 @@ Signed-off-by: Sayan Chowdhury 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 33e6368db1..1f2d8b910f 100644 +index 967d8337ab..cde822afc8 100644 --- a/units/console-getty.service.in +++ b/units/console-getty.service.in -@@ -22,12 +22,10 @@ ConditionPathExists=/dev/console +@@ -20,12 +20,10 @@ Before=getty.target + ConditionPathExists=/dev/console + [Service] - # The '-o' option value tells agetty to replace 'login' arguments with '--' for - # safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 - ${TERM} -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 console ${TERM} +-ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 - ${TERM} ++ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 console ${TERM} Type=idle Restart=always UtmpIdentifier=cons @@ -35,15 +35,15 @@ index 33e6368db1..1f2d8b910f 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index 7573532d6d..5f27653d1f 100644 +index e0b27613df..2868d56ad0 100644 --- a/units/container-getty@.service.in +++ b/units/container-getty@.service.in -@@ -27,13 +27,11 @@ Before=rescue.service +@@ -25,13 +25,11 @@ Conflicts=rescue.service + Before=rescue.service + [Service] - # The '-o' option value tells agetty to replace 'login' arguments with '--' for - # safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear - ${TERM} -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear pts/%I ${TERM} +-ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM} ++ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d pts/%I ${TERM} Type=idle Restart=always RestartSec=0 @@ -54,15 +54,15 @@ index 7573532d6d..5f27653d1f 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/getty@.service.in b/units/getty@.service.in -index f30bba406d..1819627d1c 100644 +index 104c4acc96..bedf0aae54 100644 --- a/units/getty@.service.in +++ b/units/getty@.service.in -@@ -36,13 +36,11 @@ ConditionPathExists=/dev/tty0 +@@ -34,13 +34,11 @@ Before=rescue.service + ConditionPathExists=/dev/tty0 + [Service] - # The '-o' option value tells agetty to replace 'login' arguments with '--' for - # safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear - ${TERM} -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear %I ${TERM} +-ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM} ++ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d %I ${TERM} Type=idle Restart=always RestartSec=0 @@ -73,15 +73,15 @@ index f30bba406d..1819627d1c 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 20a5eb2754..ba4cbc0edb 100644 +index 0134c83d48..7e5c8797ca 100644 --- a/units/serial-getty@.service.in +++ b/units/serial-getty@.service.in -@@ -32,12 +32,10 @@ Before=rescue.service +@@ -30,12 +30,10 @@ Conflicts=rescue.service + Before=rescue.service + [Service] - # The '-o' option value tells agetty to replace 'login' arguments with '--' for - # safety, and then the entered username. --ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 - ${TERM} -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 %I ${TERM} +-ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 - ${TERM} ++ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 %I ${TERM} Type=idle Restart=always UtmpIdentifier=%I diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch index de0aa6eb46..a09e66cc70 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch @@ -1,35 +1,38 @@ -From f0ab1c6c59056afe1650f749d1af6ecc6ee8f5ec Mon Sep 17 00:00:00 2001 +From 3c13363e4b3f2e5bcc762a71460d84b93452f53f Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 24 Oct 2025 11:06:57 +0200 -Subject: [PATCH 8/8] units: Make multi-user.target the default target +Subject: [PATCH] units: Make multi-user.target the default target Signed-off-by: Krzesimir Nowak +Signed-off-by: Kai Lueke --- - units/meson.build | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + units/meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/units/meson.build b/units/meson.build -index ef18dcae4a..887231840f 100644 +index 4f47a3b2bd..9663e21e0c 100644 --- a/units/meson.build +++ b/units/meson.build -@@ -46,7 +46,7 @@ units = [ +@@ -48,8 +48,7 @@ units = [ + 'symlinks' : ['autovt@.service'], }, { - 'file' : 'graphical.target', -- 'symlinks' : ['default.target'] + (with_runlevels ? ['runlevel5.target'] : []), -+ 'symlinks' : with_runlevels ? ['runlevel5.target'] : [], +- 'file' : 'graphical.target', +- 'symlinks' : ['default.target'], ++ 'file' : 'graphical.target' }, { 'file' : 'halt.target' }, { -@@ -140,7 +140,7 @@ units = [ - { 'file' : 'modprobe@.service' }, - { - 'file' : 'multi-user.target', -- 'symlinks' : with_runlevels ? ['runlevel2.target', 'runlevel3.target', 'runlevel4.target'] : [], -+ 'symlinks' : ['default.target'] + (with_runlevels ? ['runlevel2.target', 'runlevel3.target', 'runlevel4.target'] : []), +@@ -142,7 +141,9 @@ units = [ + 'conditions' : ['ENABLE_MACHINED'], }, + { 'file' : 'modprobe@.service' }, +- { 'file' : 'multi-user.target' }, ++ { 'file' : 'multi-user.target' , ++ 'symlinks' : ['default.target'] ++ }, { 'file' : 'network-online.target' }, { 'file' : 'network-pre.target' }, + { 'file' : 'network.target' }, -- 2.51.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index e09d468d74..7d43b25235 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -101,3 +101,6 @@ sys-apps/azure-vm-utils =app-containers/containerd-2.1* ~amd64 ~arm64 =app-containers/runc-1.3* ~amd64 ~arm64 + +# Use new systemd +=sys-apps/systemd-258.2 ~amd64 ~arm64