]>
git.ipfire.org Git - thirdparty/dracut.git/log
Laszlo Gombos [Mon, 5 Dec 2022 17:12:50 +0000 (17:12 +0000)]
ci: add tools for thin provisioning to Debian and Gentoo container for test 17
Laszlo Gombos [Mon, 5 Dec 2022 15:54:07 +0000 (15:54 +0000)]
ci: add dmraid to Debian and Gentoo container to run test 14
Laszlo Gombos [Wed, 30 Nov 2022 00:54:14 +0000 (00:54 +0000)]
ci: seperate local and network tests
Configure network module outside of test.sh scripts
to allow for parallelizm and flexibility.
Remove NM test directory wrappers and set network
in Github action instead.
This is in preparation to test other dracut network modules
such as systemd-networkd dracut module.
Laszlo Gombos [Fri, 25 Nov 2022 03:04:26 +0000 (03:04 +0000)]
test: do not omit dracut networking modules
The main motivation of this change is to prepare to enable
testing all four networking dracut modules not just two.
There are four networking modules supported currently.
Omitting one networking module not only is not necessary but
confusing as if the test really wants to omit networking modules,
it should omit all three non-used dracut networking modules.
Antonio Alvarez Feijoo [Tue, 29 Nov 2022 16:02:03 +0000 (17:02 +0100)]
feat(kernel-modules): exclude USB drivers in strict hostonly mode
Provide a way to avoid installing all USB drivers in some use cases where they
are not needed, i.e., machines without a USB bus.
Laszlo Gombos [Mon, 5 Dec 2022 21:43:06 +0000 (21:43 +0000)]
ci: install procps-ng into Fedora container
Laszlo Gombos [Thu, 1 Dec 2022 16:34:13 +0000 (16:34 +0000)]
ci: set DEBUGFAIL to rd.debug when debug logging is enabled
GitHub Actions allow to opt-in to more debug logging both on
web UI and on the command line.
When GitHub Action debug logging is enabled also enable
additional dracut test debugging by setting DEBUGFAIL to rd.debug.
This is particularly useful when re-run failed jobs with
debug logging enabled.
Laszlo Gombos [Sun, 27 Nov 2022 04:08:58 +0000 (04:08 +0000)]
ci: remove native dracut installation from the test containers
The installed packaged dracut version from a distributions can
interfere with testing latest dracut from source, which is the
primary goal of these containers.
Laszlo Gombos [Wed, 23 Nov 2022 04:51:37 +0000 (04:51 +0000)]
ci: teach manual test workflow to run several tests
Timesaver for running tests during development and reviews.
Laszlo Gombos [Fri, 2 Dec 2022 19:54:46 +0000 (19:54 +0000)]
docs: document the new release process
Release tarballs are only available on github from now on.
Henrik Gombos [Mon, 21 Feb 2022 02:40:02 +0000 (21:40 -0500)]
fix(base): do not require chroot inside initramfs
dracut can be invoked inside a chroot, but inside
the generated initramfs the chroot binary is not required.
add chroot to the generated initramfs if debug or selinux
dracut modules are enabled.
Laszlo Gombos [Tue, 22 Nov 2022 20:07:38 +0000 (20:07 +0000)]
test: remove dead code regarding special handling of test 99
Antonio Alvarez Feijoo [Thu, 24 Nov 2022 09:59:09 +0000 (10:59 +0100)]
fix(systemd-coredump): correct systemd-coredump binary path
This issue went unnoticed because the systemd module always installs the
systemd-coredump binary using the right path.
Laszlo Gombos [Fri, 26 Aug 2022 12:10:38 +0000 (12:10 +0000)]
feat(fs-lib): fsck_single can now handle PARTLABEL and PARTUUID
As an additional benefit, gentoo container now passing test-01.
Antonio Alvarez Feijoo [Wed, 30 Nov 2022 10:20:29 +0000 (11:20 +0100)]
fix(dracut.sh): use DRACUT_ARCH instead of `uname -m`
DRACUT_ARCH overrides `uname -m` since
https://github.com/dracutdevs/dracut/commit/
a0120420
Antonio Alvarez Feijoo [Wed, 30 Nov 2022 11:44:50 +0000 (12:44 +0100)]
fix(base): remove grep dependency
The base module requires grep with the `rd.memdebug=1` command line parameter.
As this code is broken if grep is not added by other means and grep is only
required for this, rewriting this code to avoid the dependency.
keentux [Wed, 23 Nov 2022 16:39:08 +0000 (16:39 +0000)]
refactor(zfcp_rules): use read -r instead of cat
Fixes #1268: Bad style `var=$(cat <file>)`. Replace by `read -r var < file`
Signed-off-by: keentux <valentin.lefebvre@suse.com>
Laszlo Gombos [Sat, 12 Nov 2022 01:39:11 +0000 (01:39 +0000)]
test(TEST-99-RPM): remove test
This test is specific to rpm packaging and has been disabled
for a while.
Laszlo Gombos [Mon, 21 Nov 2022 01:38:02 +0000 (01:38 +0000)]
test(16): make DMSQUASH test use the test dracut modules
Laszlo Gombos [Sat, 12 Nov 2022 03:10:53 +0000 (03:10 +0000)]
ci: add tests 50,51,62 to the integration test suite
Test 50,51 tests root filesystem on NFS with multiple nics.
Test 62 tests skipcpio.
Laszlo Gombos [Mon, 21 Nov 2022 04:09:52 +0000 (04:09 +0000)]
fix(github): yml syntax and commit message for dependabot
Also fix commit message prefix.
chore(github):(deps): bump ... --> chore(deps): bump ...
Laszlo Gombos [Thu, 10 Nov 2022 14:20:42 +0000 (14:20 +0000)]
test: use -device instead of -watchdog to remove qemu warnings
Laszlo Gombos [Tue, 8 Nov 2022 04:28:36 +0000 (04:28 +0000)]
test: make test 01 and 02 use the test dracut modules
Laszlo Gombos [Sun, 13 Nov 2022 15:16:22 +0000 (15:16 +0000)]
test: explicitly check if systemctl is available for systemd tests
Dracut tests already do similar checks for test 40, 62, 63 and 98.
This is useful when the full testsuite is run and systemd is not
available.
Laszlo Gombos [Sun, 13 Nov 2022 15:03:14 +0000 (15:03 +0000)]
chore(ci): bump docker/setup-buildx-action from 1 to 2
v2 has node 16 as default runtime.
Laszlo Gombos [Sat, 12 Nov 2022 01:06:50 +0000 (01:06 +0000)]
ci: add mkfs.ntfs and ntfs-3g to test containers
ntfs-3g is needed to test dmsquash-live-ntfs
Laura Hild [Fri, 11 Nov 2022 15:46:58 +0000 (10:46 -0500)]
docs: correct "rd.blacklist"
Antonio Alvarez Feijoo [Wed, 9 Nov 2022 07:27:15 +0000 (08:27 +0100)]
fix(dracut-systemd): run systemctl daemon-reload after remove_hostonly_files
Dependencies to systemd .device unit files are marked as "hostonly" in the
special file hostonly-files. These .device unit files can be removed using the
`rd.hostonly=0` command line parameter. But, since systemd v252
(https://github.com/systemd/systemd/pull/24054), the initrd-parse-etc.service
service does not run `systemctl daemon-reload`, so systemd keeps waiting
for these .device units to show up.
This means that if a hostonly device is not available for any reason at boot
time, using `rd.hostonly=0` has no effect and the system will not boot.
Laszlo Gombos [Sat, 22 Oct 2022 02:19:59 +0000 (02:19 +0000)]
ci: upgrade to actions/checkout@v3
It resolves the following warning:
Please update the following actions to use Node.js 16: actions/checkout
Neal Gompa [Sat, 5 Nov 2022 22:28:34 +0000 (18:28 -0400)]
fix(kernel-modules): add sysctl to initramfs to handle modprobe files
Users were seeing errors like this:
[ 2.917246] dracut-pre-udev[717]: sh: line 1: /sbin/sysctl: No such file or directory
This was the result of modprobe.d files that needed to call sysctl
and failing because sysctl wasn't included in the initramfs.
This change makes it so that we have the binary included so those
modprobe configuration files work properly.
Laszlo Gombos [Wed, 19 Oct 2022 16:27:25 +0000 (16:27 +0000)]
test(ISCSI-NM): fix failing test
server fails to startup with /sbin/sysctl: not found
Laszlo Gombos [Wed, 19 Oct 2022 12:32:28 +0000 (12:32 +0000)]
ci: remove non-existing modules from labeler
Laszlo Gombos [Wed, 19 Oct 2022 04:43:40 +0000 (04:43 +0000)]
ci: teach labeler about test dracut modules
Laszlo Gombos [Wed, 19 Oct 2022 04:35:48 +0000 (04:35 +0000)]
test: remove layering violation from the make system
Tests should not try to build dracut itself. Test should assume dracut
is built and availabnle to run.
Laszlo Gombos [Wed, 19 Oct 2022 04:07:05 +0000 (04:07 +0000)]
test: only set basedir if it is not set by the invoker
Set basedir in test-functions instead of Makefile.
This change will allow to use a different basedir without
modifying Makefiles.
Laszlo Gombos [Wed, 19 Oct 2022 03:45:17 +0000 (03:45 +0000)]
test: remove suppressing shellcheck messages
They are no longer needed.
Laszlo Gombos [Wed, 19 Oct 2022 03:10:29 +0000 (03:10 +0000)]
test: move more execution to dracut command line
use the -I argument to install dd and mkfs.btrfs
use the -i argument to install the hook
btrfs is already installed by the btrfs dracut module
sfdisk is not used
Laszlo Gombos [Wed, 19 Oct 2022 02:31:16 +0000 (02:31 +0000)]
test: move more common dependencies from test case to test-root module
umount setsid sync binaries are used in all test cases to build rootfs
Laszlo Gombos [Wed, 19 Oct 2022 02:13:07 +0000 (02:13 +0000)]
test: remove unused dependencies
Laszlo Gombos [Wed, 19 Oct 2022 02:07:56 +0000 (02:07 +0000)]
test: move more execution to dracut command line
Laszlo Gombos [Wed, 19 Oct 2022 02:03:51 +0000 (02:03 +0000)]
test: move plymouth installation from test case to test-root module
Laszlo Gombos [Wed, 19 Oct 2022 01:55:31 +0000 (01:55 +0000)]
test: remove unused variable
Laszlo Gombos [Wed, 19 Oct 2022 01:53:42 +0000 (01:53 +0000)]
test: install debug module into what test case is booting into
This will also make some of the non-essential tools optional
instead of a hard dependency.
Laszlo Gombos [Wed, 19 Oct 2022 01:40:23 +0000 (01:40 +0000)]
test: building ld cache explicitly is no longer needed
dracut.sh will build the ld cache now
Laszlo Gombos [Wed, 19 Oct 2022 01:33:56 +0000 (01:33 +0000)]
test: move common dependencies from test case to test-root module
Laszlo Gombos [Wed, 19 Oct 2022 01:10:07 +0000 (01:10 +0000)]
feat(test-root): add new module to share code between tests
Use dracut to make a root filesystem instead of each test case.
Laszlo Gombos [Wed, 19 Oct 2022 00:29:15 +0000 (00:29 +0000)]
test: move finished-false.sh from test case to test-makeroot module
Laszlo Gombos [Wed, 19 Oct 2022 00:25:11 +0000 (00:25 +0000)]
test: move common dependencies from test case to test-makeroot module
poweroff cp umount sync dd are commonly used by test cases to make
root filesystem.
Laszlo Gombos [Wed, 19 Oct 2022 00:15:54 +0000 (00:15 +0000)]
feat(test-makeroot): add new module to share code between tests
This module is used for tests to create root filesystem.
Laszlo Gombos [Wed, 19 Oct 2022 00:05:57 +0000 (00:05 +0000)]
test: move poweroff handling from test case to test module
Laszlo Gombos [Tue, 18 Oct 2022 23:51:32 +0000 (23:51 +0000)]
feat(test): add new module to share code between tests
Laszlo Gombos [Tue, 18 Oct 2022 23:24:37 +0000 (23:24 +0000)]
test: shutdown is not used for running tests
Laszlo Gombos [Mon, 7 Nov 2022 15:13:41 +0000 (15:13 +0000)]
ci: fix Arch container
packages should be installed with -Syu instead of -Sy.
Laszlo Gombos [Wed, 19 Oct 2022 21:50:08 +0000 (21:50 +0000)]
feat(overlayfs): add a new module called overlayfs
Also split ovlfs variable with two different meaning.
Laszlo Gombos [Sat, 20 Aug 2022 17:50:06 +0000 (17:50 +0000)]
fix(dmsquash-live): add support for NFS
Move overlayfs mount out into its own dedicated file
so that we can call into it directly for NFS support.
Add a new test case for overlayfs on top of NFS.
Laszlo Gombos [Wed, 26 Oct 2022 02:27:30 +0000 (02:27 +0000)]
ci: use prebuilt Linux kernel binaries for Gentoo container
Also remove dmsetup. It does not build and it is not required for ci.
Marcos Mello [Mon, 7 Nov 2022 10:28:34 +0000 (07:28 -0300)]
refactor(fs-lib.sh): udevadm info --query=property instead of --query=env
env is a long time deprecated alias to property, not listed in the man page for more than a decade.
Marcos Mello [Sun, 6 Nov 2022 15:43:47 +0000 (12:43 -0300)]
fix(dracut-init.sh): instmods: wrong variable name
It worked most of the time because `dracut-install -o` returns 0 in normal circumstances.
Antonio Alvarez Feijoo [Fri, 28 Oct 2022 09:08:20 +0000 (11:08 +0200)]
fix(dmsquash-live-ntfs): remove unnecessary command
Cole Robinson [Fri, 4 Nov 2022 20:46:41 +0000 (16:46 -0400)]
feat(qemu): add efi_secret driver
Despite the generic name, the only current use of the `efi_secret`
is exposing data in /sys that's been injected into a SEV/SEV-ES
virtual machine. More info:
https://docs.kernel.org/security/secrets/coco.html
This secret is probably a luks password, so we need this driver at
boot time.
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Jeremy Linton [Wed, 2 Nov 2022 22:17:24 +0000 (17:17 -0500)]
fix(90kernel-modules): add (nonstandard) NVMe drivers
The M1/etc hardware has an quirky NVMe disk controller that needs
a dedicated NVMe driver. Rather than picking up just that
bit of hardware pick up drivers that register NVMe controllers.
This also picks up NVMe-OF style drivers, but seems like a better
long term solution on Arm platforms which tend to have a lot
of odd hardware.
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Antonio Alvarez Feijoo [Thu, 3 Nov 2022 10:09:45 +0000 (11:09 +0100)]
refactor(multipath): do not install the pidof binary
dracut-lib.sh provides a custom version of pidof, so there is no need to install
the pidof binary. Also, source dracut-lib.sh in hook scripts when needed.
Fixes issue #2027
Tao Liu [Thu, 3 Nov 2022 09:21:25 +0000 (17:21 +0800)]
fix(dracut-functions.sh): suppress findmnt error msg if /etc/fstab not exist
When the rootfs of a virtual machine is virtiofs shared folder,
the /etc/fstab file may not exist. As a result, the "findmnt --fstab"
will complain "findmnt: can't read (null): No such file or directory"
when trying to rebuild kdump initramfs within the vm.
This patch checks if /etc/fstab exist before calling "findmnt --fstab"
to suppress the error message.
Before:
$ kdumpctl rebuild
kdump: Rebuilding /boot/initramfs-5.14.0-182.el9.x86_64kdump.img
findmnt: can't read (null): No such file or directory
findmnt: can't read (null): No such file or directory
findmnt: can't read (null): No such file or directory
After:
$ kdumpctl rebuild
kdump: Rebuilding /boot/initramfs-5.14.0-182.el9.x86_64kdump.img
Signed-off-by: Tao Liu <ltao@redhat.com>
Brian C. Lane [Tue, 1 Nov 2022 17:06:20 +0000 (10:06 -0700)]
fix(dracut-logger.sh): this fixes the dlog_init check for /dev/log
The /dev/log check was not correct, it would continue working if
/dev/log was a broken symlink. This changes the logic to be more clear
-- /dev/log needs to be a socket, and writable, and logger needs to be
available. If any of those conditions fail, turn off syslog and only use
console logging.
Martin Wilck [Wed, 26 Oct 2022 08:06:34 +0000 (10:06 +0200)]
feat(multipath): install tmpfiles.d config file
Recent multipath-tools (0.9.2) added a tmpfiles.d template. Install it
if present.
Laszlo Gombos [Mon, 15 Aug 2022 22:00:03 +0000 (22:00 +0000)]
feat(dmsquash-live): add support for dash
Using dash instead of bash saves about 0.5M initramfs size.
Co-authored-by: nabijaczleweli <nabijaczleweli@nabijaczleweli.xyz>
Jóhann B. Guðmundsson [Sun, 23 Oct 2022 10:54:48 +0000 (10:54 +0000)]
feat(systemd-pcrphase): introducing the systemd-pcrphase module
Introducing the systemd-pcrphase module
Laszlo Gombos [Wed, 24 Aug 2022 19:16:26 +0000 (19:16 +0000)]
fix(dracut.sh): make omit-drivers option do exact match for names
Modify the basic test case to use --omit-drivers and make it fail
without the PR and make it pass with the PR.
The test would fail with the following error without the PR:
FATAL: iscsiroot requested but kernel/initrd does not support iscsi
Laszlo Gombos [Mon, 17 Oct 2022 00:46:55 +0000 (00:46 +0000)]
ci: integration test for openrc and musl
Laszlo Gombos [Sat, 27 Aug 2022 22:05:28 +0000 (22:05 +0000)]
chore(base): remove dead code
RD_TIMESTAMP is no longer used.
systemd-timestamp is not used.
Antonio Alvarez Feijoo [Mon, 26 Sep 2022 07:00:36 +0000 (09:00 +0200)]
ci(suse.conf.example): update SUSE-specific config
Jóhann B. Guðmundsson [Sun, 23 Oct 2022 19:08:21 +0000 (19:08 +0000)]
feat(github): automating dependency updates
Let github's dependabot handle updating github's actions.
Tianhao Chai [Thu, 13 Oct 2022 05:50:06 +0000 (01:50 -0400)]
fix(multipath): install multipathd.socket
наб [Thu, 13 Oct 2022 16:14:53 +0000 (18:14 +0200)]
perf(90kernel-modules): use awk instead of shell monster
~120ms -> ~2ms
Downstream: https://bugs.debian.org/
1017411
Antonio Alvarez Feijoo [Fri, 30 Sep 2022 12:37:36 +0000 (14:37 +0200)]
feat(systemd-portabled): introducing the systemd-portabled module
Introducing the systemd-portabled module.
It's intended to work only with raw binary disk images contained in regular
files, but not with directory trees.
Antonio Alvarez Feijoo [Thu, 29 Sep 2022 10:02:34 +0000 (12:02 +0200)]
fix(network-manager): always install the library plugins directory
The library plugins directory is automatically added to the initrd if either
libnm-device-plugin-team.so or libnm-settings-plugin-ifcfg-rh.so are present on
the system, but both are optional libraries, and if it does not exist, the
NetworkManager issues a warning.
Antonio Alvarez Feijoo [Thu, 29 Sep 2022 10:02:16 +0000 (12:02 +0200)]
feat(dracut-init.sh): add inst_libdir_dir() helper
This helper function is similar to inst_libdir_file(), but it installs plain
directories located on a library directory instead of files.
Marcos Mello [Sat, 27 Aug 2022 10:58:50 +0000 (07:58 -0300)]
chore: adjust .kateconfig for C code
Marcos Mello [Sat, 27 Aug 2022 10:57:19 +0000 (07:57 -0300)]
chore: remove editor configuration files from subdirectories
Keep only the toplevel ones.
Closes #1958
Antonio Alvarez Feijoo [Mon, 10 Oct 2022 08:25:33 +0000 (10:25 +0200)]
fix(dracut): replace invalid lzo command with lzop for LZO compression
Fixes issue #1999
Marcos Mello [Sat, 25 Jun 2022 01:16:36 +0000 (22:16 -0300)]
refactor(dracut-install): resolve_deps: improve error message
Prefix + error description at the end.
Laszlo Gombos [Sun, 2 Oct 2022 01:06:12 +0000 (01:06 +0000)]
refactor(shutdown): move module specific code out of base module
dracut-lib.sh and the base module now does not have a knowledge
of oldroot and plymouth.
It improves the separation of concerns between the base module
and the shutdown module.
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 14:14:42 +0000 (16:14 +0200)]
fix(network-legacy): check if dhclient has --timeout option
dhclient's --timeout option is not upstream, so a pre-check is needed before
using it.
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 07:21:05 +0000 (09:21 +0200)]
fix(man): correct typo
Matt Coleman [Fri, 23 Sep 2022 23:28:25 +0000 (19:28 -0400)]
feat(dmsquash-live): add new dmsquash-live-autooverlay module
Matt Coleman [Sat, 15 Oct 2022 00:50:30 +0000 (20:50 -0400)]
ci: revert to actions/checkout@v1 in manualtest
This enables checkout to work in the Gentoo container.
See: https://github.com/actions/runner/issues/2115
Matt Coleman [Fri, 23 Sep 2022 17:37:22 +0000 (13:37 -0400)]
docs: fix a typo in HACKING.md
Pavel Valena [Thu, 8 Sep 2022 12:31:46 +0000 (14:31 +0200)]
fix(dracut.spec): tpm2-tools is required for crypt module to work
tpm2-tools dependency can be can be pulled in case tmp2-tss package
is installed, using a soft conditional dependency.
https://bugzilla.redhat.com/show_bug.cgi?id=
2077697
Martin Wilck [Mon, 19 Sep 2022 16:14:01 +0000 (18:14 +0200)]
fix(man): dracut.cmdline.7: clarify "rd.nvmf.discover=fc,auto"
Martin Wilck [Sat, 17 Sep 2022 21:56:08 +0000 (23:56 +0200)]
fix(network): avoid double brackets around IPv6 address
This code would add brackets twice. Fix it.
Martin Wilck [Fri, 16 Sep 2022 22:24:38 +0000 (00:24 +0200)]
feat(nvmf): set rd.neednet=1 if tcp records encountered
This is currently always the case for NBFT records.
We can do this now, as we run before parse-ip-options.sh
Martin Wilck [Fri, 16 Sep 2022 23:36:57 +0000 (01:36 +0200)]
fix(man): dracut.cmdline(7): correct syntax for rd.nonvmf
rd.nonvmf=0 is a double negation, and wrong. Fix it.
Martin Wilck [Sat, 17 Sep 2022 21:05:39 +0000 (23:05 +0200)]
fix(network): don't use same ifname multiple times
If multiple ibft interfaces exist, set_ifname() may reuse the same
name (usually "ibft0"), because it's usually called cmdline time,
when no interfaces exist in sysfs yet. Remember the number used
set and don't use it again.
Martin Wilck [Fri, 16 Sep 2022 22:02:16 +0000 (00:02 +0200)]
fix(nvmf): run cmdline hook before parse-ip-opts.sh
This way we can set "rd.neednet" and have it seen by parse-ip-options.sh
Martin Wilck [Fri, 16 Sep 2022 22:54:25 +0000 (00:54 +0200)]
fix(nvmf): avoid calling "exit" in a cmdline hook
"exit" should never be executed in dracut hooks, because the
hooks are sourced by the main script.
Martin Wilck [Fri, 16 Sep 2022 22:51:46 +0000 (00:51 +0200)]
fix(nvmf): make sure "rd.nvmf.discover=fc,auto" takes precedence
The command line may contain several rd.nvmf.discover options.
The "fc,auto" option should take precedence.
Martin Wilck [Fri, 16 Sep 2022 22:49:29 +0000 (00:49 +0200)]
fix(nvmf): don't use "finished" queue for autoconnect
The "finished" initqueue is for testing if everything is alright,
not for triggering any actions.
Martin Wilck [Fri, 16 Sep 2022 22:40:49 +0000 (00:40 +0200)]
fix(nvmf): don't create did-setup file
did-setup files are meant to indicate that an interface setup
was successful. Don't do it here.
Martin Wilck [Fri, 16 Sep 2022 22:01:07 +0000 (00:01 +0200)]
fix(nvmf): no need to load the nvme module
The module "nvme" is not required for NVMeoF.
Martin Wilck [Fri, 16 Sep 2022 21:46:42 +0000 (23:46 +0200)]
fix(nvmf): don't try to validate network connections in cmdline hook
The cmdline hook runs before any network interfaces have been brought
up. There's no point in trying to validate the connections at this
stage.