Go to file
Romain Naour 82afcacb62 package/dracut: fix dracut_wrapper
As reported by Thierry Bultel [1], dracut doesn't work since the
version bump to version 059.

Further investigation by Andreas Naumann [2] reported that the issue
come from this commit d010fa0 refactor(dracut-install): fork() instead
of popen(), sanitise line reading [3].

The issue come from our dracut_wrapper and how DRACUT_LDD is defined.
Indeed dracut expect DRACUT_LDD=ldd or a single binary (without
arguments) but we are using "prelink-rtld --root='${sysroot}'".

With the change introduced by [3], our DRACUT_LDD is used
directly by execlp() leading to an error:

  execlp(ldd, ldd, fullsrcpath, (char *)NULL);

Use mktemp to generate a temporary dracut-ldd script using
prelink-rtld --root='${sysroot}' ${1}

execute dracut.real in a subshell to cleanup the temporary file
at the end of the dracut wrapper script.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/6224243423 [tests.fs.test_cpio.TestCpioDracutGlibcMergedUsr]
https://gitlab.com/buildroot.org/buildroot/-/jobs/6224243434 [tests.fs.test_cpio.TestCpioDracutMuslMergedUsr]
https://gitlab.com/buildroot.org/buildroot/-/jobs/6224243567 [tests.fs.test_cpio.TestCpioDracutUclibcMergedUsr]
https://gitlab.com/buildroot.org/buildroot/-/jobs/6224243559 [tests.fs.test_cpio.TestCpioDracutGlibc]
https://gitlab.com/buildroot.org/buildroot/-/jobs/6224243504 [tests.fs.test_cpio.TestCpioDracutUclibc]
https://gitlab.com/buildroot.org/buildroot/-/jobs/6224243498 [tests.fs.test_cpio.TestCpioDracutMusl]

[1] http://lists.busybox.net/pipermail/buildroot/2024-February/684145.html
[2] http://lists.busybox.net/pipermail/buildroot/2024-February/684503.html
[3] d010fa0d7f

Fixes: 145f01ded5 ("package/dracut: bump to version 059")
Reported-by: Thierry Bultel <thierry.bultel@linatsea.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-01 19:22:56 +01:00
arch arch: add support 16k page size on ARM64 2024-01-19 21:19:33 +01:00
board board/freescale: imx9-bootloader-prepare.sh: fix script 2024-02-14 10:03:55 +01:00
boot boot/syslinux: fix build with gnu-efi >= 3.0.16 2024-03-01 19:16:52 +01:00
configs configs/wandboard: update U-Boot and kernel 2024-02-12 23:00:13 +01:00
docs docs/website: Update for 2023.02.10 2024-03-01 17:59:27 +01:00
fs fs/cpio: allow users to provide their own dracut modules 2023-02-06 22:46:35 +01:00
linux {linux, linux-headers}: bump 4.19.x / 5.{4, 10, 15}.x / 6.{1, 6}.x series 2024-02-24 11:12:27 +01:00
package package/dracut: fix dracut_wrapper 2024-03-01 19:22:56 +01:00
support Update for 2023.11.2 2024-03-01 14:42:14 +01:00
system package/openrc: fix uclibc handling 2023-11-29 10:00:43 +01:00
toolchain toolchain/toolchain-bare-metal-buildroot: wire up newlib-bare-metal 2024-02-06 17:57:20 +01:00
utils utils/genrandconfig: fix BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH 2024-03-01 09:13:34 +01:00
.checkpackageignore Revert "package/python3: bump version to 3.12.1" 2024-02-24 11:34:40 +01:00
.clang-format
.defconfig
.editorconfig editorconfig: fix wildcard expansion 2023-12-20 21:32:06 +01:00
.flake8
.gitignore
.gitlab-ci.yml support/misc/gitlab-ci.yml.in: retry a job only if it failed due to a runner issue 2023-08-27 10:09:37 +02:00
.shellcheckrc
CHANGES Update for 2023.02.10 2024-03-01 17:57:38 +01:00
Config.in Config.in: change default optimization level from -Os to -O2 2024-01-07 17:59:48 +01:00
Config.in.legacy package/tinymembench: drop package 2024-02-11 22:41:24 +01:00
COPYING
DEVELOPERS support/testing: add sox runtime test 2024-02-25 08:44:22 +01:00
Makefile Update for 2024.02-rc1 2024-02-25 12:43:07 +01:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches