From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thierry Bultel <thierry.bultel@linatsea.fr>,
Adam Duskett <aduskett@gmail.com>,
buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/dracut: workaround breakage on non-merged-usr hosts
Date: Sun, 13 Nov 2022 22:11:28 +0100 [thread overview]
Message-ID: <20221113221128.6e820018@windsurf> (raw)
In-Reply-To: <20221112133707.1674986-1-yann.morin.1998@free.fr>
On Sat, 12 Nov 2022 14:37:07 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> dracut is not really ready to be installed with a non-/ prefix, and it
> has a lot of hard-coded assumptions that it is going to run on the host
> for which it is goign to generate an initramfs; for example, it
> hard-codes calls to /lib/dracut/some-file in some of its modules. It
> also uses the host system layout to decide whether it needs a
> merged-usr or not.
>
> Furthermore, dracut populates the temporary directory which content will
> be used to generate the cpio, with a bunch of files, even before calling
> any of the dracut modules.
>
> The name for that temporary directory is not predictable (looks like the
> output of 'mktemp -d dracut.XXXXXX', with names like dracut.1Vfn9F seen
> while debugging).
>
> As a consequence, we can't prepare the temporary directory with the
> proper symlinks beforehand.
>
> So, we provide a very-early module of our own, that will (hopefully) run
> before any other module, to fixup the messed-up layout prepared by
> dracut. This module moves the content of /lib, /bin, and /sbin, out and
> into their counterparts in /usr, and creates the usual symlinks.
>
> When we do not require a merged-usr, then we have nothing to do, so the
> module checks for /lib being a symlink, as the hint that we want a
> merged-usr or not.
>
> Note: currently, we've seen nothing that dracut installed in /bin or
> /sbin, but for trying to be future-proof, we also handle them; this
> causes a spurious warning:
> mv: cannot stat '..../build/buildroot-fs/cpio/tmp/dracut.YQnzNP/initramfs/bin/*': No such file or directory
>
> Since there are already quite a bunch of similar failures in the
> official modules bundled in dracut, an extra such issue or two should
> not be too scary...
>
> Fixes:
> https://gitlab.com/buildroot.org/buildroot/-/jobs/3282261241
> https://gitlab.com/buildroot.org/buildroot/-/jobs/3282261239
> https://gitlab.com/buildroot.org/buildroot/-/jobs/3282261236
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thierry Bultel <thierry.bultel@linatsea.fr>
> Cc: Adam Duskett <aduskett@gmail.com>
> ---
> package/dracut/dracut.mk | 2 ++
> package/dracut/merged-usr-module-setup.sh | 26 +++++++++++++++++++++++
> 2 files changed, 28 insertions(+)
> create mode 100644 package/dracut/merged-usr-module-setup.sh
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2022-11-13 21:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-12 13:37 [Buildroot] [PATCH] package/dracut: workaround breakage on non-merged-usr hosts Yann E. MORIN
2022-11-13 21:11 ` Thomas Petazzoni via buildroot [this message]
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=20221113221128.6e820018@windsurf \
--to=buildroot@buildroot.org \
--cc=aduskett@gmail.com \
--cc=thierry.bultel@linatsea.fr \
--cc=thomas.petazzoni@bootlin.com \
--cc=yann.morin.1998@free.fr \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.