]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: slightly enhance docs about "exitrd" and remove TODO entry for it
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 23 Sep 2024 09:41:29 +0000 (11:41 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 23 Sep 2024 10:09:43 +0000 (12:09 +0200)
The concept is fairly well established and present in our docs in various
places.

Say that the exitrd is also marked by the presence of /etc/initrd-release.

TODO
man/bootup.xml
man/os-release.xml

diff --git a/TODO b/TODO
index 85bc780b334cf1ad8aeb07cd404f7ac53a73d049..773cdac8e3522aa0a2866392901d270f58143f6f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1355,12 +1355,6 @@ Features:
   CapabilityQuintet we already have. (This likely allows us to drop libcap
   dep in the base OS image)
 
-* add concept for "exitrd" as inverse of "initrd", that we can transition to at
-  shutdown, and has similar security semantics. This should then take the place
-  of dracut's shutdown logic. Should probably support sysexts too. Care needs
-  to be taken that the resulting logic ends up in RAM, i.e. is copied out of
-  on-disk storage.
-
 * userdbd: implement an additional varlink service socket that provides the
   host user db in restricted form, then allow this to be bind mounted into
   sandboxed environments that want the host database in minimal form. All
index db98f4649affb5e3e3714c94b2a0784fb10f98dc..bba3bd2d7d1199c97061142d5fb43c88b8048c4d 100644 (file)
@@ -343,6 +343,17 @@ systemd-reboot.service     |               |               |               |
     shutdown phase described above.</para>
   </refsect1>
 
+  <refsect1>
+    <title>The exitrd</title>
+
+    <para>The "exitrd" is a concept symmetrical to the initrd. When the system manager is shutting down and
+    <filename>/run/initramfs/shutdown</filename> exists, it will switch root to
+    <filename>/run/initramfs/</filename> and execute <filename>/shutdown</filename>. This program runs from
+    the tmpfs mounted on <filename>/run/</filename>, so it can unmount the old root file system and perform
+    additional steps, for example dismantle complex storage or perform additional logging about the shutdown.
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para><simplelist type="inline">
index 315ed8fcd66722a8cc6e5b3327712db1ed2a605b..1ff112e0579a9fdc9081c9bf9b7635bb5a0b7c1c 100644 (file)
     <refsect2>
       <title><filename>/etc/initrd-release</filename></title>
 
-      <para>In the <ulink
-      url="https://docs.kernel.org/admin-guide/initrd.html">initrd</ulink>,
+      <para>In the <ulink url="https://docs.kernel.org/admin-guide/initrd.html">initrd</ulink>
+      and exitrd,
       <filename>/etc/initrd-release</filename> plays the same role as <filename>os-release</filename> in the
-      main system. Additionally, the presence of that file means that the system is in the initrd phase.
+      main system. Additionally, the presence of that file means that the system is in the initrd/exitrd phase.
       <filename>/etc/os-release</filename> should be symlinked to <filename>/etc/initrd-release</filename>
       (or vice versa), so programs that only look for <filename>/etc/os-release</filename> (as described
       above) work correctly.</para>