initramfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daan De Meyer <daan.j.demeyer@gmail.com>
To: Eric Curtin <ecurtin@redhat.com>
Cc: Andrei Borzenkov <arvidjaar@gmail.com>,
	initramfs@vger.kernel.org,  systemd-devel@lists.freedesktop.org,
	Stephen Smoogen <ssmoogen@redhat.com>,
	 Yariv Rachmani <yrachman@redhat.com>,
	Douglas Landgraf <dlandgra@redhat.com>,
	 Luca Boccassi <bluca@debian.org>
Subject: Re: [RFC] initoverlayfs - a scalable initial filesystem
Date: Sat, 9 Dec 2023 16:22:54 +0100	[thread overview]
Message-ID: <CAO8sHcnKm+Z5ZKZDJaFXJ5KVy4=VKGxCZqs7xq08XTp0ApW3wg@mail.gmail.com> (raw)
In-Reply-To: <CAOgh=FyGVnyz-5TF_kDbHu+THESCRJ3sJ6HFBfWB_YGj93AzfQ@mail.gmail.com>

> We have been working on a new initial filesystem called initoverlayfs.
> It is a new filesystem that provides a more scalable approach to
> initial filesystems as opposed to just using initrds. We are writing
> this RFC to the systemd and dracut mailing lists (feel free to forward
> to UAPI group also) because although this solution works without
> changing the code in these projects, it operates in the same area as
> systemd, udev, dracut, etc. and uses these tools.

I like the concept of using erofs instead of a compressed cpio and we have
been discussing doing something similar within systemd. I very much dislike
the implementation though. I believe this should be implemented natively within
the Linux kernel instead of hacking around the missing kernel support
in userspace.

If the kernel would add support for supplying an erofs initramfs
instead of a cpio
initramfs, put a writable tmpfs on top of it and would unpack any
extra cpios provided
by the bootloader on top of the tmpfs, then there wouldn't be any need
for initoverlayfs.

Before adopting anything like this I believe there should be a serious
effort to get
this implemented within Linux itself. Only if that turns out to be
impossible should
we fall back to exploring userspace only solutions.

Cheers,

Daan


On Sat, 9 Dec 2023 at 16:08, Eric Curtin <ecurtin@redhat.com> wrote:
>
> On Sat, 9 Dec 2023 at 14:56, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
> >
> > On 09.12.2023 17:42, Eric Curtin wrote:
> > > On Sat, 9 Dec 2023 at 12:46, Luca Boccassi <bluca@debian.org> wrote:
> > >>
> > >> On Fri, 8 Dec 2023 at 19:00, Eric Curtin <ecurtin@redhat.com> wrote:
> > >>>
> > >>> We have been working on a new initial filesystem called initoverlayfs.
> > >>> It is a new filesystem that provides a more scalable approach to
> > >>> initial filesystems as opposed to just using initrds. We are writing
> > >>> this RFC to the systemd and dracut mailing lists (feel free to forward
> > >>> to UAPI group also) because although this solution works without
> > >>> changing the code in these projects, it operates in the same area as
> > >>> systemd, udev, dracut, etc. and uses these tools.
> > >>
> > >> It seems to me everything you described already exists? If you want to
> > >> avoid having an initrd -> rootfs transition, you can already do that -
> > >
> > > You need a initrd -> rootfs transition for generic linux operating
> > > systems right?
> >
> > No, you do not. Nothing stops you from running off initramfs (today you
> > do not really have init*RAM Disk* - the content of initrd is unpacked
> > into initramfs.
>
> Apologies if I am misinterpreting this response, I use terms initrd
> and initramfs
> interchangeably (not technically correct, but it's common to do this). The
> point is to avoid unpacking as much as possible, because in many initrds
> the majority of the software need not be unpacked, but is designed to work
> with throwaway initial filesystems.
>
> >
> > > Or else you start building all sorts of things directly
> > > into the kernel which isn't really scalable.
> > >
> >
> > See above.
> >
>

  reply	other threads:[~2023-12-09 15:23 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-08 17:59 [RFC] initoverlayfs - a scalable initial filesystem Eric Curtin
2023-12-09 12:46 ` Luca Boccassi
2023-12-09 14:42   ` Eric Curtin
2023-12-09 14:56     ` Andrei Borzenkov
2023-12-09 15:07       ` Eric Curtin
2023-12-09 15:22         ` Daan De Meyer [this message]
2023-12-09 15:46           ` Eric Curtin
2023-12-09 17:19         ` Luca Boccassi
2023-12-09 17:24           ` Eric Curtin
2023-12-09 17:46             ` Luca Boccassi
2023-12-09 17:57               ` Eric Curtin
2023-12-09 18:11                 ` Luca Boccassi
2023-12-09 18:26                   ` Eric Curtin
2023-12-11  9:57 ` Lennart Poettering
2023-12-11 10:07   ` Lennart Poettering
2023-12-11 11:20   ` Eric Curtin
2023-12-11 11:28     ` Eric Curtin
2023-12-11 11:42       ` Eric Curtin
2023-12-11 11:58         ` Lennart Poettering
2023-12-11 11:51       ` Lennart Poettering
2023-12-11 12:48         ` Eric Curtin
2023-12-11 12:52           ` Eric Curtin
2023-12-12 17:37           ` Lennart Poettering
2023-12-12 17:40           ` Lennart Poettering
2023-12-12 19:05             ` Demi Marie Obenour
2023-12-11 16:28   ` Demi Marie Obenour
2023-12-11 17:03     ` Eric Curtin
2023-12-11 17:46       ` Demi Marie Obenour
2023-12-12 18:00       ` Lennart Poettering
2023-12-12 20:34         ` Nils Kattenbeck
2023-12-12 20:48           ` Eric Curtin
2023-12-12 21:02           ` Lennart Poettering
2023-12-12 22:01             ` Nils Kattenbeck
2023-12-13  9:03               ` Lennart Poettering
2023-12-14  1:17                 ` Nils Kattenbeck
2023-12-16 14:34                   ` Lennart Poettering
2023-12-11 17:33     ` Neal Gompa
2023-12-11 20:15     ` Luca Boccassi
2023-12-11 20:43       ` Demi Marie Obenour
2023-12-11 20:58         ` Luca Boccassi
2023-12-11 21:20           ` Demi Marie Obenour
2023-12-11 21:45             ` Luca Boccassi
2023-12-12  3:47               ` Paul Menzel
2023-12-12  3:56               ` Paul Menzel
2023-12-12 15:26               ` Paul Menzel
2023-12-11 21:24           ` Eric Curtin
2023-12-12 17:50     ` Lennart Poettering
2023-12-18 21:59 Askar Safin
     [not found] ` <CAOgh=FyA94-7YqGpsAqVQjadegRusoAvRhD=t-ipzVWN0CiJRQ@mail.gmail.com>
2023-12-18 23:31   ` Askar Safin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAO8sHcnKm+Z5ZKZDJaFXJ5KVy4=VKGxCZqs7xq08XTp0ApW3wg@mail.gmail.com' \
    --to=daan.j.demeyer@gmail.com \
    --cc=arvidjaar@gmail.com \
    --cc=bluca@debian.org \
    --cc=dlandgra@redhat.com \
    --cc=ecurtin@redhat.com \
    --cc=initramfs@vger.kernel.org \
    --cc=ssmoogen@redhat.com \
    --cc=systemd-devel@lists.freedesktop.org \
    --cc=yrachman@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).