]> git.ipfire.org Git - thirdparty/dracut-ng.git/log
thirdparty/dracut-ng.git
20 months agofix(systemd-initrd): add systemd-udevd dependency
Laszlo Gombos [Wed, 17 Apr 2024 00:07:32 +0000 (20:07 -0400)] 
fix(systemd-initrd): add systemd-udevd dependency

20 months agofix(systemd-udevd): add systemd-sysctl dependency
Laszlo Gombos [Tue, 16 Apr 2024 23:50:15 +0000 (19:50 -0400)] 
fix(systemd-udevd): add systemd-sysctl dependency

99-systemd.rules depends on systemd-sysctl

20 months agofix(crypt): add systemd-ask-password dependency if systemd is used
Laszlo Gombos [Tue, 16 Apr 2024 19:17:47 +0000 (15:17 -0400)] 
fix(crypt): add systemd-ask-password dependency if systemd is used

20 months agofix(systemd-journald): add systemd dependency
Laszlo Gombos [Tue, 16 Apr 2024 19:12:53 +0000 (15:12 -0400)] 
fix(systemd-journald): add systemd dependency

20 months agofeat(systemd-bsod): dracut module for systemd-bsod
Laszlo Gombos [Sun, 14 Apr 2024 18:21:23 +0000 (14:21 -0400)] 
feat(systemd-bsod): dracut module for systemd-bsod

20 months agofix(dracut-fuctions.sh): correct wrong regex pattern for LVM dm devices
Antonio Alvarez Feijoo [Wed, 16 Nov 2022 13:48:25 +0000 (14:48 +0100)] 
fix(dracut-fuctions.sh): correct wrong regex pattern for LVM dm devices

The regex pattern to detect LVM device-mapper devices used in `check_vol_slaves`
and `check_vol_slaves_all` is incorrect, as it matches any occurrence of the LVM
string within dm/uuid, not just at the beggining.

A similar check is correctly implemented in `lvm_internal_dev`, so this patch
creates a new `get_lvm_dm_dev` function using it to avoid duplicate code.

Fixes issue #1149

20 months agotest: switch to virtio for the QEMU drive
Laszlo Gombos [Sat, 20 Apr 2024 16:07:28 +0000 (12:07 -0400)] 
test: switch to virtio for the QEMU drive

20 months agoci: install rust into each CI container
Laszlo Gombos [Sat, 20 Apr 2024 16:12:39 +0000 (12:12 -0400)] 
ci: install rust into each CI container

Enabled to test dracut-cpio on all CI Linux distribution.

20 months agoci: make checkout faster and fix concurrency rules
Laszlo Gombos [Sat, 20 Apr 2024 13:26:44 +0000 (09:26 -0400)] 
ci: make checkout faster and fix concurrency rules

20 months agoci: run GETARG test on arm64
Laszlo Gombos [Sat, 20 Apr 2024 03:07:40 +0000 (23:07 -0400)] 
ci: run GETARG test on arm64

This is an easy test to start with as it does not require a VM.

Only set CPU to IvyBridge-v2 for AMD64.

20 months agotest: switch to virtio for the QEMU drive
Laszlo Gombos [Fri, 19 Apr 2024 02:52:47 +0000 (22:52 -0400)] 
test: switch to virtio for the QEMU drive

20 months agotest(LVM-THIN): make test 17 use the test dracut modules
Laszlo Gombos [Thu, 18 Apr 2024 13:39:36 +0000 (09:39 -0400)] 
test(LVM-THIN): make test 17 use the test dracut modules

20 months agotest(ENC-RAID-LVM): make test 13 use the test dracut modules
Laszlo Gombos [Tue, 16 Apr 2024 01:00:20 +0000 (21:00 -0400)] 
test(ENC-RAID-LVM): make test 13 use the test dracut modules

20 months agofix(test): add support for thin volumes in the Gentoo container
Laszlo Gombos [Fri, 19 Apr 2024 12:56:25 +0000 (08:56 -0400)] 
fix(test): add support for thin volumes in the Gentoo container

20 months agoci: enable testing on arm64 using the Debian container
Laszlo Gombos [Sat, 13 Apr 2024 22:18:48 +0000 (18:18 -0400)] 
ci: enable testing on arm64 using the Debian container

20 months agofix(test): fixup Gentoo CI
Laszlo Gombos [Thu, 18 Apr 2024 22:27:10 +0000 (18:27 -0400)] 
fix(test): fixup Gentoo CI

Improve systemd installation by enabling cryptsetup flag.

Remove non-systemd craft from Gentoo, since now the project has
Alpine and Void container to test with.

Add some extra packages to enable more test coverage.

20 months agofeat(dracut.sh): make initramfs-${kernel}.img filename configurable
Laszlo Gombos [Fri, 12 Apr 2024 18:01:44 +0000 (14:01 -0400)] 
feat(dracut.sh): make initramfs-${kernel}.img filename configurable

20 months agofix(dracut.sh): include efi mountpoint for hostonly
dalto8 [Sat, 13 Apr 2024 18:39:22 +0000 (18:39 +0000)] 
fix(dracut.sh): include efi mountpoint for hostonly

When the ESP is mounted at /efi on it's own device, support for the underlying device is excluded from the initramfs.

20 months agofix(install.d): correctly install pre-genned image and die if no args
Andrew Ammerlaan [Wed, 17 Apr 2024 19:33:04 +0000 (21:33 +0200)] 
fix(install.d): correctly install pre-genned image and die if no args

Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
20 months agofix(dracut): move hooks directory from /usr/lib to /var/lib
Laszlo Gombos [Fri, 5 Apr 2024 13:50:20 +0000 (15:50 +0200)] 
fix(dracut): move hooks directory from /usr/lib to /var/lib

Since https://github.com/systemd/systemd/commit/ffc1ec73, /usr is mounted as
read-only in the initramfs by default.

Fixes #2588

Co-authored-by: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
20 months agofix(install.d): simplify and use what kernel-install gives us
Andrew Ammerlaan [Fri, 5 Apr 2024 18:31:35 +0000 (20:31 +0200)] 
fix(install.d): simplify and use what kernel-install gives us

drops legacy fallback path, exit always if we are not chosen as initrd_
generator. Exit if we are already installing an UKI. Exit if an initrd
image is already specified by kernel-install.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
20 months agofix(dracut-install): release memory allocated for regular expressions
Antonio Alvarez Feijoo [Tue, 28 Nov 2023 14:43:41 +0000 (15:43 +0100)] 
fix(dracut-install): release memory allocated for regular expressions

Use `regfree` to free memory allocated by `regcomp`. Quoting [1]:

"If the preg argument to regexec() or regfree() is not a compiled regular
expression returned by regcomp(), the result is undefined."

Therefore, `regfree` must only be called if `regcomp` succeeded.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/regcomp.html

20 months agofix(dracut.sh): don't unset LD_PRELOAD
Thierry Bultel [Mon, 10 Jan 2022 08:09:43 +0000 (09:09 +0100)] 
fix(dracut.sh): don't unset LD_PRELOAD

LD_PRELOAD and LD_LIBRARY_PATH are needed to run under fakeroot.

Signed-off-by: Thierry Bultel <thierry.bultel@linatsea.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[yann.morin.1998@free.fr: commit log also mentions LD_LIBRARY_PATH]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
20 months agotest(BTRFSRAID): make test 15 use the test dracut modules
Laszlo Gombos [Mon, 15 Apr 2024 01:10:24 +0000 (21:10 -0400)] 
test(BTRFSRAID): make test 15 use the test dracut modules

20 months agotest(ISMS): make test 14 use the test dracut modules
Laszlo Gombos [Mon, 15 Apr 2024 00:56:09 +0000 (20:56 -0400)] 
test(ISMS): make test 14 use the test dracut modules

20 months agotest(LVM-THIN): make sure dm_thin_pool Linux kernel module is loaded
Laszlo Gombos [Sun, 14 Apr 2024 14:28:33 +0000 (10:28 -0400)] 
test(LVM-THIN): make sure dm_thin_pool Linux kernel module is loaded

20 months agoci: gummiboot-stub no longer supports UEFI image with latest kernel
Laszlo Gombos [Sun, 14 Apr 2024 13:05:12 +0000 (09:05 -0400)] 
ci: gummiboot-stub no longer supports UEFI image with latest kernel

Remove ovmf from Alpine container to explicitly skip UEFI test.
Replace gummiboot with systemd-boot-efistub in the Void container.
Be consistent and remove sudo from all test containers.

20 months agotest(RAID-DEG): make test 12 use the test dracut modules
Laszlo Gombos [Sat, 13 Apr 2024 01:28:41 +0000 (21:28 -0400)] 
test(RAID-DEG): make test 12 use the test dracut modules

20 months agodocs(README.md): repology badges
Laszlo Gombos [Fri, 12 Apr 2024 11:19:31 +0000 (07:19 -0400)] 
docs(README.md): repology badges

20 months agofix(test): remove ib700wdt kernel module from tests
Laszlo Gombos [Mon, 20 Feb 2023 16:48:04 +0000 (16:48 +0000)] 
fix(test): remove ib700wdt kernel module from tests

i6300esb is preferred for tests.

20 months agoci: enable systemd-networkd testing
Laszlo Gombos [Mon, 8 Apr 2024 21:32:21 +0000 (17:32 -0400)] 
ci: enable systemd-networkd testing

Using Arch container for systemd-networkd testing as often it has
the latest version of systemd-networkd.

20 months agotest(DRACUT-CPIO): fix test by calling poweroff instead of SysRq
Laszlo Gombos [Fri, 12 Apr 2024 14:16:49 +0000 (10:16 -0400)] 
test(DRACUT-CPIO): fix test by calling poweroff instead of SysRq

20 months agotest(DRACUT-CPIO): enable building dracut-cpio when cargo is installed
Laszlo Gombos [Fri, 5 Apr 2024 01:59:35 +0000 (21:59 -0400)] 
test(DRACUT-CPIO): enable building dracut-cpio when cargo is installed

Since the test is well written, it will be just skipped if
cargo is not in the test container.

Add cargo to the openSUSE test caontainer.

20 months agoperf(dracut-init.sh): stop parsing args in dracut_instmods if --silent is found
Antonio Alvarez Feijoo [Wed, 29 Nov 2023 15:59:37 +0000 (16:59 +0100)] 
perf(dracut-init.sh): stop parsing args in dracut_instmods if --silent is found

20 months agoperf(drm): group dracut_instmods calls
Antonio Alvarez Feijoo [Thu, 30 Nov 2023 14:04:43 +0000 (15:04 +0100)] 
perf(drm): group dracut_instmods calls

This module loops over many bus devices, and calls `dracut_instmods` for each
one. E.g., on a Lenovo Thinkpad laptop:

```
> for i in /sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?,vmbus/devices}/*/modalias; do [[ -e $i ]] && [[ -n $(< "$i") ]]  && echo $i; done | wc -l
79
```

Every call to `dracut_instmods` spawns a `dracut-install` process, which in the
previous example means calling `dracut-install` 79 times using the same
arguments.

If any call to `dracut-install` fails, dracut continues its execution (even the
errors are not shown, because it's called with `--silent`). Therefore, let's
take the contents of all the `modalias` files into an array and call
`dracut-install` only once, adding also the `-o` argument, so if any of the
modules cannot be installed, `dracut-install` does not stop.

20 months agofix(man): further clarify live-image overlay types & RAM usage
Frederick Grose [Sat, 13 Apr 2024 03:11:42 +0000 (23:11 -0400)] 
fix(man): further clarify live-image overlay types & RAM usage

Describe the separate overlay types, their specification, and
their RAM usage for a live SquashFS (read-only) base filesystem
image.

20 months agofeat(lsinitrd.sh): print stored dracut cmdline
Steffen Maier [Fri, 10 Feb 2023 17:37:55 +0000 (18:37 +0100)] 
feat(lsinitrd.sh): print stored dracut cmdline

It's more convenient for debugging than extracting or unpacking the
corresponding files.

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
20 months agofeat(lsinitrd.sh): enable unpacking files from squash-root.img
Steffen Maier [Thu, 26 Jan 2023 13:50:40 +0000 (14:50 +0100)] 
feat(lsinitrd.sh): enable unpacking files from squash-root.img

This is helpful for debugging some kdump mkdumprd that prefer dracut-squash.

To not break when unsquashfs upstream would change the default path prefix,
explicitly specify the prefix as argument so users always find files from
squash-root.img by using the same hardcoded prefix, both in the file listing
and when extracting files.

Regarding extract_files (without --unpack):
Unsquashfs cannot seem to extract to stdout, so take a detour via a temp
file.

Regarding --unpack:
Even though cpio for comparison would not overwrite files on extracing,
pass the force flag to unsquashfs on extracing individual files.
Otherwise, unsquashfs complains about its relative top-level directory
"squashfs-root" which already exists after the first file was extracted.
With the force flag, the user can specify multiple files to extract from
squash-root.img, or can invoke lsinitrd multiple times in the same
directory to extract multiple files from squash-root.img.

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
20 months agofeat(tpm2-tss): add tpm2.target and systemd-tpm2-generator
Antonio Alvarez Feijoo [Mon, 19 Feb 2024 14:22:42 +0000 (15:22 +0100)] 
feat(tpm2-tss): add tpm2.target and systemd-tpm2-generator

https://github.com/systemd/systemd/commit/4e1f0037 added a new `tpm2.target`,
which is now used by `systemd-pcrphase-initrd.service`, and
`systemd-tpm2-generator`, which adds a `Wants=` dependency from `sysinit.target`
to `tpm2.target` when it detects that the firmware discovered a TPM2 device but
the kernel didn't.

20 months agofix(release): dracut --> dracut-ng for NEWS.md
Laszlo Gombos [Sat, 13 Apr 2024 01:46:50 +0000 (21:46 -0400)] 
fix(release): dracut --> dracut-ng for NEWS.md

20 months agoci: enable Void Linux for basic tests with runit
Laszlo Gombos [Fri, 12 Apr 2024 21:53:55 +0000 (17:53 -0400)] 
ci: enable Void Linux for basic tests with runit

20 months agofix(dracut-init.sh): handle decompress with `--sysroot`
Antonio Alvarez Feijoo [Wed, 7 Feb 2024 10:49:14 +0000 (11:49 +0100)] 
fix(dracut-init.sh): handle decompress with `--sysroot`

Remove `$dracutsysrootdir` from the file path passed to the decompress command,
otherwise the path is wrong and the file is not decompressed in the temporary
directory where the initramfs is being built.

E.g.:

```
dracut[I]: *** Including module: i18n ***
gzip: /var/tmp/dracut.6Iqygd/initramfs/.snapshots/12/snapshot/usr/share/kbd/keymaps/i386/include/euro1.map.gz: No such file or directory
gzip: /var/tmp/dracut.6Iqygd/initramfs/.snapshots/12/snapshot/usr/share/kbd/keymaps/i386/qwerty/us.map.gz: No such file or directory
gzip: /var/tmp/dracut.6Iqygd/initramfs/.snapshots/12/snapshot/usr/share/kbd/keymaps/xkb/us.map.gz: No such file or directory
```

20 months agofix(i18n): handle keymap includes with `--sysroot`
Antonio Alvarez Feijoo [Wed, 7 Feb 2024 10:48:57 +0000 (11:48 +0100)] 
fix(i18n): handle keymap includes with `--sysroot`

The results of `find "${dracutsysrootdir}${kbddir}"/keymaps/ -type f -name "${INCL}*" -print0`
are directly passed to `findkeymap` containing the `$dracutsysrootdir` path,
which causes that `[[ -f $dracutsysrootdir$1 ]]` evaluates to false because the
same path is prepended again, and the following `find` fails because `MAPNAME`
has an absolute path.

E.g., with `dracutsysrootdir=/.snapshots/9/snapshot`, for `MAPNAME=us` the
`INCLUDES` of `MAP=/.snapshots/9/snapshot/usr/share/kbd/keymaps/i386/qwerty/us.map.gz`
will pass `/.snapshots/9/snapshot/usr/share/kbd/keymaps/i386/include/qwerty-layout.inc` to
`findkeymap`.

```
dracut[I]: *** Including module: i18n ***
find: warning: â€˜-name’ matches against basenames only, but the given pattern contains a directory separator (‘/’), thus the expression will evaluate to false all the time.  Did you mean â€˜-wholename’?
```

20 months agofix(dracut-lib): only remove initqueue/finished scripts, not the hook dir
Antonio Alvarez Feijoo [Mon, 12 Feb 2024 08:57:38 +0000 (09:57 +0100)] 
fix(dracut-lib): only remove initqueue/finished scripts, not the hook dir

The `remove_hostonly_files` function should only remove (as its name suggests)
hostonly configuration and files. The initqueue/finished scripts considered as
hostonly that must be removed are added via `wait_for_dev`. But, the `hookdirs`
are always created at build time, and should not be removed.

This patch also allows to remove the `mkdir` workaround in the `network-manager`
module (copied-pasted into the `connman` module after), and avoids having to add
it tree-wide in many missing places.

Fixes 87e90d7f4a344d8e0f638acfccb3e5a387a1658c
Fixes #2620

20 months agoci: fix support for regenerating dracut.html when making a release
Laszlo Gombos [Thu, 11 Apr 2024 13:19:18 +0000 (09:19 -0400)] 
ci: fix support for regenerating dracut.html when making a release

Remove the need for a step to manually correct version inside
dracut.html.

20 months agofix(dracut.sh): do not add device if find_block_device fails
dalto8 [Thu, 11 Apr 2024 22:26:03 +0000 (22:26 +0000)] 
fix(dracut.sh): do not add device if find_block_device fails

20 months agoci: sort packages by name
Laszlo Gombos [Fri, 12 Apr 2024 11:59:59 +0000 (07:59 -0400)] 
ci: sort packages by name

20 months agoci: remove dracut package without removing its dependencies
Laszlo Gombos [Fri, 12 Apr 2024 11:51:20 +0000 (07:51 -0400)] 
ci: remove dracut package without removing its dependencies

20 months agofix(test): do not omit dracut modules for initramfs.testing
Laszlo Gombos [Fri, 3 Mar 2023 13:39:02 +0000 (13:39 +0000)] 
fix(test): do not omit dracut modules for initramfs.testing

We want to know if including dracut modules makes the test fail
instead of masking issues by omitting dracut modules.

20 months agofix(systemd-sysext): handle confexts and correct extensions search path
Antonio Alvarez Feijoo [Tue, 16 May 2023 13:14:03 +0000 (15:14 +0200)] 
fix(systemd-sysext): handle confexts and correct extensions search path

- Support to confexts added in https://github.com/systemd/systemd/pull/26013
(instead of working on /usr and /opt, confext will extend only /etc).

- /usr/lib/extensions/ not supported since https://github.com/systemd/systemd/commit/de862276

- In addition to these two fixes, add only raw binary disk images contained in
regular files, because dracut does not have a helper function to add directories
recursively.

20 months agotest: disable debug log by default
Laszlo Gombos [Tue, 9 Apr 2024 00:24:16 +0000 (20:24 -0400)] 
test: disable debug log by default

Debug logs can be enabled outside of the tests.

20 months agofix(nvmf): move /etc/nvme/host{nqn,id} requirement to hostonly
Tomas Bzatek [Thu, 21 Sep 2023 12:31:07 +0000 (14:31 +0200)] 
fix(nvmf): move /etc/nvme/host{nqn,id} requirement to hostonly

When creating initramfs for universal boot image such as an installer,
we can't include any machine-specific IDs. Let's move the check
for /etc/nvme/hostnqn and /etc/nvme/hostid files presence to
the hostonly section to avoid unsatisfied requirements.

Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
20 months agoci: add more packages to the Arch container to enable more testing
Laszlo Gombos [Sat, 6 Apr 2024 12:10:14 +0000 (08:10 -0400)] 
ci: add more packages to the Arch container to enable more testing

20 months agoci: manage tgt with pacman
Laszlo Gombos [Sat, 6 Apr 2024 10:56:12 +0000 (06:56 -0400)] 
ci: manage tgt with pacman

Install tgt with pacman as now tgt is in [extra].

20 months agofix(systemd): explicitly install some libs that will not be statically included
Antonio Alvarez Feijoo [Thu, 4 Apr 2024 11:49:26 +0000 (13:49 +0200)] 
fix(systemd): explicitly install some libs that will not be statically included

Some required libraries that used to be statically included are in the process
to be opened via `dlopen()`.

References:
- https://github.com/systemd/systemd/pull/31131
- https://github.com/systemd/systemd/pull/31550
- https://github.com/systemd/systemd/pull/32019

Closes #2642

20 months agochore(deps): bump actions/checkout to v4
Laszlo Gombos [Sat, 6 Apr 2024 20:57:17 +0000 (16:57 -0400)] 
chore(deps): bump actions/checkout to v4

20 months agofix(dracut.sh): make uki's reproducible
Anton Lundin [Wed, 14 Jun 2023 11:51:34 +0000 (13:51 +0200)] 
fix(dracut.sh): make uki's reproducible

If the user asks for the dracut output to be reproducible, we should
ensure objcopy produces a reproducible uki to.

Signed-off-by: Anton Lundin <glance@ac2.se>
20 months agofix(test): fixup Gentoo CI
Andrew Ammerlaan [Mon, 8 Apr 2024 10:22:37 +0000 (12:22 +0200)] 
fix(test): fixup Gentoo CI

we download systemd docker image, so we want systemd, not systemd-utils

use binpkgs to speed up, use parallel fetching, emerging, installing

efistub builder needs /boot etc from kernel builder

equery f is used to list files installed by a package on Gentoo

Closes: https://github.com/dracut-ng/dracut-ng/issues/135
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
20 months agoci: enable alpine for basic tests
Laszlo Gombos [Sun, 7 Apr 2024 22:20:40 +0000 (18:20 -0400)] 
ci: enable alpine for basic tests

20 months agoci: tell the installkernel package to use Debians installkernel
Laszlo Gombos [Sun, 7 Apr 2024 16:11:29 +0000 (12:11 -0400)] 
ci: tell the installkernel package to use Debians installkernel

20 months agotest: the Linux kernel is named kernel- in Gentoo container
Laszlo Gombos [Sun, 7 Apr 2024 15:46:08 +0000 (11:46 -0400)] 
test: the Linux kernel is named kernel- in Gentoo container

20 months agodocs: update NEWS.md and AUTHORS 101
dracutng[bot] [Sun, 7 Apr 2024 14:35:33 +0000 (14:35 +0000)] 
docs: update NEWS.md and AUTHORS

20 months agorevert: "fix(dracut.sh): do not add device if find_block_device returns"
Laszlo Gombos [Sun, 7 Apr 2024 13:38:00 +0000 (09:38 -0400)] 
revert: "fix(dracut.sh): do not add device if find_block_device returns"

This reverts commit 3d0d7e0737bd80f522f19918dc052bd795548b5e.

20 months agoci: improve Gentoo container
Laszlo Gombos [Sat, 25 Nov 2023 19:39:59 +0000 (14:39 -0500)] 
ci: improve Gentoo container

Switch from musl and OpenRC to glibc and systemd for Gentoo.
Use Alpine instead for musl and OpenRC testing.

20 months agofix(dmsquash-live): update documentation
Laszlo Gombos [Sun, 2 Apr 2023 01:37:15 +0000 (01:37 +0000)] 
fix(dmsquash-live): update documentation

Command line should have preference over image content driven
configuration when there is a conflict between the two.

Follow-up to 0e780720efe6488c4e07af39926575ee12f40339 .

20 months agofix(dracut-install): continue parsing if ldd prints "cannot be preloaded"
Antonio Alvarez Feijoo [Tue, 28 Feb 2023 11:06:35 +0000 (12:06 +0100)] 
fix(dracut-install): continue parsing if ldd prints "cannot be preloaded"

When /etc/ld.so.preload contains a non-existing library, `ldd` prints the
following output:

```
> ldd /usr/lib64/libfido2.so.1.12.0
ERROR: ld.so: object '/usr/lib64/libfoo.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib64/libfoo.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
linux-vdso.so.1 (0x00007ffd477f5000)
libcbor.so.0.10 => /lib64/libcbor.so.0.10 (0x00007f34062dd000)
libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f3405e00000)
libudev.so.1 => /lib64/libudev.so.1 (0x00007f34062af000)
libhidapi-hidraw.so.0 => /lib64/libhidapi-hidraw.so.0 (0x00007f34062a6000)
libz.so.1 => /lib64/libz.so.1 (0x00007f340628c000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3405c05000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3406336000)
ERROR: ld.so: object '/usr/lib64/libfoo.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
> echo $?
0
ERROR: ld.so: object '/usr/lib64/libfoo.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
```

If `dracut-install` stops parsing the `ldd` output, the initrd will not contain
all the required dependencies.

Fixes issue #2241

20 months agofix(dracut.sh): omit compressed kernel modules from find searching exec files
Antonio Alvarez Feijoo [Fri, 28 Apr 2023 08:57:02 +0000 (10:57 +0200)] 
fix(dracut.sh): omit compressed kernel modules from find searching exec files

Although the kernel modules are not included yet because they are not
executable, this speeds up the `find`.

20 months agofix(dracut-systemd): replace `rd.udev.log-priority` with `rd.udev.log_level`
Antonio Alvarez Feijoo [Wed, 24 Jan 2024 14:27:39 +0000 (15:27 +0100)] 
fix(dracut-systemd): replace `rd.udev.log-priority` with `rd.udev.log_level`

`rd.udev.log-priority` is deprecated since systemd-v247
(https://github.com/systemd/systemd/commit/64a3494c)

Also, fix deprecation warning not being displayed for `rdudevinfo` and
`rdudevdebug`.

20 months agodocs: update NEWS.md and AUTHORS 100
dracutng[bot] [Sat, 6 Apr 2024 01:15:27 +0000 (01:15 +0000)] 
docs: update NEWS.md and AUTHORS

20 months agoci: re-enable test 50
Laszlo Gombos [Thu, 4 Apr 2024 12:14:29 +0000 (08:14 -0400)] 
ci: re-enable test 50

20 months agoci: add support for regenerating dracut.html when making a release
Laszlo Gombos [Fri, 5 Apr 2024 10:17:58 +0000 (06:17 -0400)] 
ci: add support for regenerating dracut.html when making a release

20 months agofix(release): maintain dracut.html in the source tree
Laszlo Gombos [Thu, 4 Apr 2024 16:02:41 +0000 (12:02 -0400)] 
fix(release): maintain dracut.html in the source tree

Update dracut.html as part of release generation.

20 months agotest(FULL-SYSTEMD): use poweroff to shut down test
Laszlo Gombos [Thu, 4 Apr 2024 14:15:14 +0000 (10:15 -0400)] 
test(FULL-SYSTEMD): use poweroff to shut down test

Without this change the test seems to be flaky.

20 months agofix: wait 12 hours before halt on media check fail
Adam Williamson [Mon, 30 Oct 2023 04:19:36 +0000 (21:19 -0700)] 
fix: wait 12 hours before halt on media check fail

If a modesetting driver has been loaded by the time the media
check happens, halting the system (as we currently do immediately
if the check fails) blanks the screen, which is confusing for
the user. This adds a warning message and a 12-hour wait before
the system is eventually halted, so the user can see the media
check failure and (presumably) reboot and fix the medium.

It also tweaks the text of the failure message not to call it a
"CD check", since it's not 1998 any more.

https://bugzilla.redhat.com/show_bug.cgi?id=2246410

Signed-off-by: Adam Williamson <awilliam@redhat.com>
20 months agofix(dracut-lib): use poweroff instead of halt
Lukas Nykryn [Wed, 10 May 2023 10:54:25 +0000 (12:54 +0200)] 
fix(dracut-lib): use poweroff instead of halt

Using halt will keep the HW still powered on. This can be confusing for
users. The screen is blank, but for example the fan is still
running and they have no idea what is going on. So let's call poweroff.

20 months agofix(dracut-init.sh): do not print by default if a modules is not installed
Laszlo Gombos [Thu, 4 Apr 2024 15:05:59 +0000 (11:05 -0400)] 
fix(dracut-init.sh): do not print by default if a modules is not installed

We are already printing out by default what modules are installed so user
can check what got installed.

20 months agotest(NFS): enable NFSv4 tests
Laszlo Gombos [Wed, 3 Apr 2024 03:23:12 +0000 (23:23 -0400)] 
test(NFS): enable NFSv4 tests

In addition make sure that exportfs is available before attempting
to run the tests.

20 months agotest(LVM): make test 11 use the test dracut modules
Laszlo Gombos [Sat, 4 Mar 2023 12:33:34 +0000 (12:33 +0000)] 
test(LVM): make test 11 use the test dracut modules

20 months agodocs(README.md): remove reference to old kernel mailing list
Antonio Alvarez Feijoo [Thu, 8 Jun 2023 13:49:44 +0000 (15:49 +0200)] 
docs(README.md): remove reference to old kernel mailing list

Fixes issue #2135

20 months agorevert(dracut-install): file created without restricting permissions
Laszlo [Tue, 2 Apr 2024 15:47:28 +0000 (11:47 -0400)] 
revert(dracut-install): file created without restricting permissions

This reverts commit 3439d139616196f0cd0af2e6244acf6c5f85621f.

20 months agoci: drop which package from CI containers
Laszlo Gombos [Tue, 2 Apr 2024 23:39:46 +0000 (19:39 -0400)] 
ci: drop which package from CI containers

Prefer command over which and keep it that way.

20 months agoci: don't validate the pull request title
Laszlo Gombos [Wed, 3 Apr 2024 00:58:05 +0000 (20:58 -0400)] 
ci: don't validate the pull request title

20 months agofix(dracut.sh): recognize kernel file in /boot named vmlinux too
Icenowy Zheng [Sun, 18 Feb 2024 15:20:06 +0000 (23:20 +0800)] 
fix(dracut.sh): recognize kernel file in /boot named vmlinux too

The kernel file, at least in AOSC OS, is named vmlinux instead of
vmlinuz if uncompressed.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
20 months agochore(deps): bump actions/upload-artifact from 3 to 4
dependabot[bot] [Tue, 2 Apr 2024 20:43:39 +0000 (20:43 +0000)] 
chore(deps): bump actions/upload-artifact from 3 to 4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
20 months agochore(deps): bump github/codeql-action from 2 to 3
dependabot[bot] [Tue, 2 Apr 2024 20:43:48 +0000 (20:43 +0000)] 
chore(deps): bump github/codeql-action from 2 to 3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
20 months agoci: switch ommisery to upstream version
Laszlo Gombos [Tue, 2 Apr 2024 16:05:09 +0000 (12:05 -0400)] 
ci: switch ommisery to upstream version

20 months agoci: disable running flaky tests on openSUSE
Laszlo Gombos [Tue, 2 Apr 2024 15:53:26 +0000 (11:53 -0400)] 
ci: disable running flaky tests on openSUSE

20 months agochore(deps): bump luizm/action-sh-checker from 0.6.0 to 0.8.0
dependabot[bot] [Tue, 31 Oct 2023 18:43:28 +0000 (18:43 +0000)] 
chore(deps): bump luizm/action-sh-checker from 0.6.0 to 0.8.0

Bumps [luizm/action-sh-checker](https://github.com/luizm/action-sh-checker) from 0.6.0 to 0.8.0.
- [Release notes](https://github.com/luizm/action-sh-checker/releases)
- [Commits](https://github.com/luizm/action-sh-checker/compare/v0.6.0...v0.8.0)

---
updated-dependencies:
- dependency-name: luizm/action-sh-checker
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
20 months agoci: if container is 'all' run tests on all containers
Laszlo Gombos [Sun, 26 Feb 2023 18:22:49 +0000 (18:22 +0000)] 
ci: if container is 'all' run tests on all containers

Test container names are discovered using "find" command.
Add an option to specify container registry.

20 months agoci: if list of tests is empty, run all tests
Laszlo Gombos [Sun, 26 Feb 2023 13:51:57 +0000 (13:51 +0000)] 
ci: if list of tests is empty, run all tests

Test matrix for all tests is computed using "find" to.

20 months agoci: allow manual test workflow to set environment
Laszlo Gombos [Wed, 22 Feb 2023 17:41:22 +0000 (17:41 +0000)] 
ci: allow manual test workflow to set environment

Enable rd.debug for manual builds by default and allow changing it.

20 months agoci(lint): disable `sh-checker` ShellCheck
Jan Macku [Tue, 3 Oct 2023 08:33:26 +0000 (10:33 +0200)] 
ci(lint): disable `sh-checker` ShellCheck

ShellCheck linting is performed by `differential-shellcheck`.

20 months agoci(lint): remove broken parameter of sh-checker
Jan Macku [Tue, 3 Oct 2023 08:30:06 +0000 (10:30 +0200)] 
ci(lint): remove broken parameter of sh-checker

The `sh_checker_comment: true` requires special permissions (`pull-requests: write`).
This permission level could be achieved only on PR from the `dracut` repository. When PR is opened from the fork, it automatically drops to `read` only.

error message:
```
Commenting on the pull request
{
  "message": "Resource not accessible by integration",
  "documentation_url": "https://docs.github.com/rest/issues/comments#create-an-issue-comment"
}
```

20 months agoci(lint): add differential-shellcheck action
Jan Macku [Tue, 3 Oct 2023 08:17:22 +0000 (10:17 +0200)] 
ci(lint): add differential-shellcheck action

It performs differential ShellCheck scans and reports results directly on GitHub.

documentation: https://github.com/redhat-plumbers-in-action/differential-shellcheck

Signed-off-by: Jan Macku <jamacku@redhat.com>
20 months agofix(dracut-systemd): use `DRACUT_VERSION` instead of `VERSION`
Antonio Alvarez Feijoo [Tue, 10 Oct 2023 12:38:38 +0000 (14:38 +0200)] 
fix(dracut-systemd): use `DRACUT_VERSION` instead of `VERSION`

`VERSION` can contain other values unrelated to the dracut version, which
garbles the output.

20 months agoci: add support for releasing with signed tags
Henrik Gombos [Sat, 5 Aug 2023 13:07:10 +0000 (09:07 -0400)] 
ci: add support for releasing with signed tags

Now that tools/release.sh supports all steps described in RELEASE.md,
update RELEASE.md and point it to release.sh as the canonical
manual way to make a release.

20 months agofix(release): dracutdevs/dracut --> dracut-ng/dracut-ng
Laszlo Gombos [Sun, 31 Mar 2024 23:35:13 +0000 (19:35 -0400)] 
fix(release): dracutdevs/dracut --> dracut-ng/dracut-ng

20 months agofix(dmsquash-live): use the overlay size with thin provisioning
gregory-lee-bartholomew [Tue, 9 Jan 2024 18:16:53 +0000 (18:16 +0000)] 
fix(dmsquash-live): use the overlay size with thin provisioning

Using the overlay size in the device mapper table allows the filesystem
in the base image to be extended if the overlay is larger than the
base image (e.g. `resize2fs /dev/mapper/live-rw`).

20 months agofix(Makefile): release is now just made out of a git sha
Henrik Gombos [Fri, 25 Aug 2023 15:05:17 +0000 (11:05 -0400)] 
fix(Makefile): release is now just made out of a git sha

20 months agochore(gitignore): remove modules.d/99base/switch_root from
Henrik Gombos [Sun, 27 Aug 2023 00:45:05 +0000 (20:45 -0400)] 
chore(gitignore): remove modules.d/99base/switch_root from

switch_root use to be a native binary that was built, but not anymore.