Package: dracut / 108-8
Metadata
| Package | Version | Patches format |
|---|---|---|
| dracut | 108-8 | 3.0 (quilt) |
Patch series
view the series file| Patch | File delta | Description |
|---|---|---|
| udevsettle | (download) |
modules.d/80base/init.sh |
1 1 + 0 - 0 ! |
udevsettle In a KVM VM the network is not configured properly, it shows ens3 (instead of eth0), which is not in status up and no IP address. |
| debian initramfs post update.patch | (download) |
dracut.sh |
6 6 + 0 - 0 ! |
run bootloader hooks from /etc/initramfs/post-update.d after making the image, and add $NO_POST_UPDATE_HOOKS to disable this See <https://kernel-team.pages.debian.net/kernel-handbook/ch-update-hooks.html#s-initramfs-hooks> Bug-Debian: https://bugs.debian.org/753752 |
| fix dracut do not call uname r in chroot environments.patch | (download) |
dracut.sh |
2 1 + 1 - 0 ! |
fix(dracut): do not call uname -r in chroot environments Running dracut in a schroot environment (even with `systemd-detect-virt` installed) will pick `uname -r` as kernel version despite that kernel not being available. So also check `systemd-detect-virt --chroot` before relying on `uname -r`. |
| feat debian.conf default to initrd.img kernel on Debian U.patch | (download) |
dracut.conf.d/debian/10-debian.conf |
1 1 + 0 - 0 ! |
feat(debian.conf): default to initrd.img-${kernel} on debian/ubuntu
Extend the Debian/Ubuntu Dracut configuration to change the default
`initrdname` to `initrd.img-${kernel}`. This is done to keep the name
the same as initramfs-tools which has been the default for a long time.
This change will be carried for quite some time to ease the switch from
initramfs-tools to dracut.
|
| test drop requiring iscsiuio.socket.patch | (download) |
.github/workflows/integration.yml |
2 2 + 0 - 0 ! |
test: drop requiring iscsiuio.socket The iscsiuio socket/service is only needed on specific hardware. It is not needed for the ISCSI and ISCSI-MULTI test cases. Without this check the tests will succeed on Debian and Ubuntu. |
| feat Makefile set Dracut version on install.patch | (download) |
Makefile |
1 1 + 0 - 0 ! |
feat(makefile): set dracut version on install Distributions can override `DRACUT_VERSION` or `DRACUT_FULL_VERSION` to include the distribution's revision in the dracut version. This override is not reflected in the installed `dracut-version.sh` and needs to be modified by the distribution. Persist the version in the installed `dracut-version.sh` during `make install`. |
| feat Makefile introduce distclean target.patch | (download) |
Makefile |
5 4 + 1 - 0 ! |
feat(makefile): introduce distclean target Add a `distclean` target to remove all generated files including the one (`Makefile.inc`) created by `configure`. Calling `make distclean` should have the same result as `git clean -fdx`. |
| fix hwdb make module setup.sh executable.patch | (download) | 0 files changed |
fix(hwdb): make module-setup.sh executable The `module-setup.sh` scripts are shell scripts and should be executable. |
| fix Makefile use install for installing files.patch | (download) |
Makefile |
11 9 + 2 - 0 ! |
fix(makefile): use install for installing files The `cp` command will copy the file/directory permissions from the source files. The local source files might have group write permission set which should not be applied to the installation. Tighten the file/directory permission by using the `install` command with specifying the mode. |
| fix Makefile exclude hidden directories from shellcheck.patch | (download) |
Makefile |
2 1 + 1 - 0 ! |
fix(makefile): exclude hidden directories from shellcheck `shfmt -f .` also searches in hidden directories (like `.git` or `.pc`). The `.pc` is used on Debian for patch tracking and should not be searched for files. So ignore the top-level hidden directories from shellcheck. |
| fix dm dmraid shellcheck SC2268.patch | (download) |
modules.d/70dm/dm-shutdown.sh |
6 3 + 3 - 0 ! |
fix(dm,dmraid): shellcheck sc2268 Shellcheck 0.11 complains about SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose. |
| fix ignore shellcheck SC2329 in addition to SC2317.patch | (download) |
dracut-logger.sh |
14 7 + 7 - 0 ! |
fix: ignore shellcheck sc2329 in addition to sc2317 Shellcheck <= 0.10 complains about SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly). Shellcheck 0.11 changes this complaint to SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). So ignore shellcheck SC2329 in addition to SC2317 to make both shellcheck versions happy. |
| fix dracut util crash if CMDLINE ends with quotation mark.patch | (download) |
src/util/util.c |
2 1 + 1 - 0 ! |
fix(dracut-util): crash if cmdline ends with quotation mark
Sudhakar Verma from the Ubuntu security team found a memory corruption:
```
$ pwd
/tmp/dracut-ng/src/util
$ CC=clang-17 CXX=clang++-17 CFLAGS="-fsanitize=address" cmake .
-- The C compiler identification is Clang 17.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang-17 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/dracut-ng/src/util
$ CC=clang-17 CXX=clang++-17 CFLAGS="-fsanitize=address" make
[ 50%] Building C object CMakeFiles/dracut-util.dir/util.c.o
[100%] Linking C executable dracut-util
[100%] Built target dracut-util
$ ln -s $PWD/dracut-util dracut-getargs
$ ln -s $PWD/dracut-util dracut-getarg
$ CMDLINE=' "' ./dracut-getarg ' '
AddressSanitizer:DEADLYSIGNAL
=================================================================
==163118==ERROR: AddressSanitizer: SEGV on unknown address 0x50210000001d (pc 0x599a6b7d4c07 bp 0x7ffe44ea9ef0 sp 0x7ffe44ea9da0 T0)
==163118==The signal is caused by a READ memory access.
#0 0x599a6b7d4c07 in next_arg util.c
#1 0x599a6b7d3e75 in getarg util.c
#2 0x599a6b7d3448 in main (/tmp/dracut-ng/src/util/dracut-util+0x108448) (BuildId: ea28a61b3c6dd0a75c505cd1749f8711779bd819)
#3 0x72381be2a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#4 0x72381be2a28a in __libc_start_main csu/../csu/libc-start.c:360:3
#5 0x599a6b6f7304 in _start (/tmp/dracut-ng/src/util/dracut-util+0x2c304) (BuildId: ea28a61b3c6dd0a75c505cd1749f8711779bd819)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV util.c in next_arg
==163118==ABORTING
```
The variable `i` in `next_arg` is an unsigned integeter. `i - 1` will
result in an underflow in case `i` is 0.
|
| fix kernel modules add Cadence USB driver to base.patch | (download) |
modules.d/70kernel-modules/module-setup.sh |
1 1 + 0 - 0 ! |
fix(kernel-modules): add cadence usb driver to base Installed Debian Trixie d-i rc2 (dvd-1) on USB storage on Pine64 Star64 is not bootable due to missing modules `cdns3_starfive` and `cdns3` from initramfs. Note the above USB support on Pine64 Star64 is directly part of StarFive |
| fix lsinitrd avoid rechecking for squash images.patch | (download) |
lsinitrd.sh |
2 1 + 1 - 0 ! |
fix(lsinitrd): avoid rechecking for squash images The function `extract_squash_img` uses `SQUASH_TMPDIR` to check that it was already called but did not find any squash image. Instead of setting `SQUASH_TMPDIR` `SQUASH_TMPFILE` was set and therefore the cpio file is searched again on every `extract_squash_img` call. |
| refactor lsinitrd introduce cpio_extract function.patch | (download) |
lsinitrd.sh |
9 7 + 2 - 0 ! |
refactor(lsinitrd): introduce cpio_extract function In preparation to support 3cpio as alternative archive tool, move the cpio extraction call into `cpio_extract`. |
| refactor lsinitrd introduce cpio_extract_to_stdout functi.patch | (download) |
lsinitrd.sh |
25 12 + 13 - 0 ! |
refactor(lsinitrd): introduce cpio_extract_to_stdout function In preparation to support 3cpio as alternative archive tool, move the cpio extraction to stdout call into `cpio_extract_to_stdout`. |
| refactor lsinitrd introduce cpio_list function.patch | (download) |
lsinitrd.sh |
11 8 + 3 - 0 ! |
refactor(lsinitrd): introduce cpio_list function In preparation to support 3cpio as alternative archive tool, move the cpio listing call into `cpio_list`. |
| feat lsinitrd support 3cpio.patch | (download) |
lsinitrd.sh |
26 23 + 3 - 0 ! |
feat(lsinitrd): support 3cpio `3cpio` is written in Rust and faster than `cpio`. Use `3cpio` in `lsinitrd` in case it is available. |
| refactor dracut introduce cpio_extract function.patch | (download) |
dracut.sh |
9 8 + 1 - 0 ! |
refactor(dracut): introduce cpio_extract function In preparation to support 3cpio as alternative archive tool, move the cpio extraction call into `cpio_extract`. |
| feat dracut support 3cpio for creating initrds.patch | (download) |
dracut.sh |
101 94 + 7 - 0 ! |
feat(dracut): support 3cpio for creating initrds `3cpio` is written in Rust and faster than `cpio`. Use `3cpio` in `dracut.sh` in case it is available. `3cpio` supports `SOURCE_DATE_EPOCH` and therefore clamping the files is not needed. |
| fix dracut library directory creation in kernel only.patch | (download) |
dracut.sh |
2 1 + 1 - 0 ! |
fix(dracut): library directory creation in --kernel-only Create a initrd with `--kernel-only`. For example: ``` ./configure make ./dracut.sh -l --kernel-only -m kernel-modules -d "ext4 sd_mod" -f $(pwd)/test --keep ``` The resulting has directories with spaces: ``` $ ls -l /var/tmp/dracut.dS9eq2i/initramfs total 0 drwxrwxr-x 3 root root 60 Aug 13 23:36 ' ' lrwxrwxrwx 1 root root 7 Aug 13 23:36 lib -> usr/lib drwxr-xr-x 3 root root 60 Aug 13 23:36 usr $ find /var/tmp/dracut.dS9eq2i/initramfs/\ /var/tmp/dracut.dS9eq2i/initramfs/ /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /lib /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /lib/x86_64-linux-gnu? /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /lib/x86_64-linux-gnu?/usr /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /lib/x86_64-linux-gnu?/usr/lib /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /lib/x86_64-linux-gnu?/usr/lib/x86_64-linux-gnu /var/tmp/dracut.dS9eq2i/initramfs/ /lib64 /usr/lib64 /lib /usr/lib /lib/x86_64-linux-gnu?/usr/lib/x86_64-linux-gnu/libfakeroot ``` Do not quote `libdirs` when iterating over it since it contains a space-separated list of library directories. Fixes: https://github.com/dracut-ng/dracut-ng/issues/1570 |
| test SKIPCPIO introduce cpio_list_first function.patch | (download) |
test/TEST-81-SKIPCPIO/test.sh |
10 8 + 2 - 0 ! |
test(skipcpio): introduce cpio_list_first function In preparation to support 3cpio as alternative archive tool, move the cpio listing call into `cpio_list_first` and expect it to take a file as input. |
| test SKIPCPIO introduce cpio_create function.patch | (download) |
test/TEST-81-SKIPCPIO/test.sh |
10 6 + 4 - 0 ! |
test(skipcpio): introduce cpio_create function In preparation to support 3cpio as alternative archive tool, move the cpio creation call into `cpio_create`. |
| test SKIPCPIO support 3cpio.patch | (download) |
test/TEST-81-SKIPCPIO/test.sh |
19 16 + 3 - 0 ! |
test(skipcpio): support 3cpio Support using 3cpio in the skipcpio test to allow not having `cpio` installed. |
| fix lsinitrd use lowercase skip variable name.patch | (download) |
lsinitrd.sh |
17 9 + 8 - 0 ! |
fix(lsinitrd): use lowercase skip variable name The test Makefile takes a `SKIP` environment variable to skip tests. This variable might leak into `lsinitrd`: ``` $ make -C test V=1 check SKIP="23 30 43 50 60 70 71 72" [...] /usr/bin/lsinitrd: line 467: 23: command not found ``` Rename the `SKIP` variable to use lowercase and unset this variable to avoid leaking values into it. |
| test avoid kernel install add all.patch | (download) |
test/TEST-12-UEFI/test.sh |
3 2 + 1 - 0 ! |
test: avoid kernel-install add-all The man page of `kernel-install` says about `add-all`: "This is the same as add, but invokes the operation iteratively for every installed kernel in /usr/lib/modules/. This operation is only supported on systems where the kernel image is installed in /usr/lib/modules/KERNEL-VERSION/vmlinuz." Debian and Ubuntu do not ship the kernel images in `/usr/lib/modules/` and therefore `add-all` is not supported there. Since the test cases already determine the kernel version, search for the kernel image and use `kernel-install add` instead of `add-all`. |
| fix Makefile exclude hidden directories from shellcheck p.patch | (download) |
Makefile |
2 1 + 1 - 0 ! |
fix(makefile): exclude hidden directories from shellcheck part 2
`find .` also searches in hidden directories (like `.git` or `.pc`). The
`.pc` is used on Debian for patch tracking and should not be searched
for files.
So ignore the top-level hidden directories from shellcheck. See also
commit 7a65d1a1f372 ("fix(Makefile): exclude hidden directories from
shellcheck").
|
| test allow running UEFI and kernel install tests in chroo.patch | (download) |
test/TEST-43-KERNEL-INSTALL/test.sh |
4 2 + 2 - 0 ! |
test: allow running uefi and kernel-install tests in chroot The UEFI and kernel-install tests want to run in an isolated environment to avoid modifying the host system. Allow running those tests in a chroot (like schroot). |
| test skip using kernel install due to bug 1117563.patch | (download) |
test/TEST-12-UEFI/test.sh |
4 3 + 1 - 0 ! |
test: skip using kernel-install due to bug #1117563 The Dracut 12-uefi and 43-kernel-install test cases fail. dracut-core ships /usr/lib/kernel/install.d/50-dracut.install which generates an initrd in KERNEL_INSTALL_STAGING_AREA. /usr/lib/kernel/install.d/55-initrd.install (coming from debian/extra/kernel-install.d/55-initrd.install) then links to the initrd in /boot. This results in two initrd being included in the UKI and the content of later one overwrites the former one. |
