Hi!

I wonder: wouldn't it be nicer to use a subdirectory like ".systemd-magic" to 
place such magic files there that are interpreted by systemd? Then 
"!!!MOUNT!!!" would become a simple "mount" or maybe "fstab" or "mountttab", ...

Kind regards,
Ulrich Windl

> -----Original Message-----
> From: systemd-devel <[email protected]> On
> Behalf Of H. Peter Anvin
> Sent: Saturday, January 24, 2026 1:40 AM
> To: Alexander Viro <[email protected]>; Christian Brauner
> <[email protected]>; Jan Kara <[email protected]>; Jonathan Corbet
> <[email protected]>; H. Peter Anvin <[email protected]>
> Cc: [email protected]; [email protected]; linux-
> [email protected]; Lennart Poettering <[email protected]>;
> [email protected]
> Subject: [EXT] [systemd-devel] [PATCH 0/3] Add the ability to mount
> filesystems during initramfs expansion
> 
> 
> At Plumber's 2024, Lennart Poettering of the systemd project requested
> the ability to overmount the rootfs with a separate tmpfs before
> initramfs expansion, so the populated tmpfs can be unmounted.
> 
> This patchset takes this request and goes one step further: it allows
> (mostly) arbitrary filesystems mounts during initramfs processing.
> 
> This is done by having the initramfs expansion code detect the special
> filename "!!!MOUNT!!!" which is then parsed into a simplified
> fstab-type mount specification and the directory in which the
> !!!MOUNT!!! entry is used as the mount point.
> 
> This specific method was chosen for the following reasons:
> 
> 1. This information is specific to the expectations of the initramfs;
>    therefore using kernel command line options is not
>    appropriate. This way the information is fully contained within the
>    initramfs itself.
> 2. The sequence !!! is already special in cpio, due to the "TRAILER!!!"
>    entries.
> 3. The filename "!!!MOUNT!!!" will typically be sorted first, which
>    means using standard find+cpio tools to create the initramfs still
>    work.
> 4. Similarly, standard cpio can still expand the initramfs.
> 5. If run on a legacy kernel, the !!!MOUNT!!! file is created, which
>    is easy to detect in the initramfs code which can then activate
>    some fallback code.
> 6. It allows for multiple filesystems to be mounted, possibly of
>    different types and in different locations, e.g. the initramfs can
>    get started with /dev, /proc, and /sys already booted.
> 
> The patches are:
> 
>     1/3: fs/init: move creating the mount data_page into init_mount()
>     2/3: initramfs: support mounting filesystems during initramfs expansion
>     3/3: Documentation/initramfs: document mount points in initramfs
> 
> ---
>  .../driver-api/early-userspace/buffer-format.rst   | 60 +++++++++++++-
>  fs/init.c                                          | 23 +++++-
>  include/linux/init_syscalls.h                      |  3 +-
>  init/do_mounts.c                                   | 17 +---
>  init/initramfs.c                                   | 95 
> +++++++++++++++++++++-
>  5 files changed, 175 insertions(+), 23 deletions(-)

Reply via email to