Update to 056

This commit is contained in:
Peter Robinson 2022-03-04 15:37:43 +00:00
parent 21d7df40dc
commit 937971c7d1
10 changed files with 13 additions and 379 deletions

View File

@ -1,32 +0,0 @@
From c4796589e7cbc0e2d6837b30511c82d22668c2bf Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 6 Oct 2021 11:05:49 +0100
Subject: [PATCH] fix(90kernel-modules): add Type-C USB drivers for generic
initrd
We need to pull in Type-C USB drivers as they can provide a number of
differnet bits of functionality in early boot including input, display
(altmode DP) and storage so we need to have them available to ensure
functionality attached to those buses/interfaces are available in early
boot.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
modules.d/90kernel-modules/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 613c20e7..a1aba71b 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -59,6 +59,7 @@ installkernel() {
"=drivers/pci/host" \
"=drivers/pci/controller" \
"=drivers/pinctrl" \
+ "=drivers/usb/typec" \
"=drivers/watchdog"
instmods \
--
2.32.0

View File

@ -1,32 +0,0 @@
From 15398458685d376fef56b1bf6fe09ae7c68324c1 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Sat, 16 Oct 2021 10:41:24 +0100
Subject: [PATCH] fix(90kernel-modules): add isp1760 USB controller
Like the dwc/chipidea controllers the isp1760 can act in either
host or gadget mode so it ends up in it's own directory. Add this
driver into the initrd as it's part of some arm platforms and
is needed to be able to boot off USB storage.
Fixes issue #1619
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
modules.d/90kernel-modules/module-setup.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index a1aba71b..68358bb5 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -96,6 +96,7 @@ installkernel() {
"=drivers/usb/dwc2" \
"=drivers/usb/dwc3" \
"=drivers/usb/host" \
+ "=drivers/usb/isp1760" \
"=drivers/usb/misc" \
"=drivers/usb/musb" \
"=drivers/usb/phy" \
--
2.32.0

View File

@ -1,57 +0,0 @@
From 4f1d387b777425aead44232bd2c3d5c3517d4ff8 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 9 Dec 2021 16:35:11 +0100
Subject: [PATCH] fix(drm): add privacy screen modules to the initrd
Starting with kernel 5.17 the kernel supports the builtin privacy screens
built into the LCD panel of some new laptop models.
This means that the drm drivers will now return -EPROBE_DEFER from their
probe() method on models with a builtin privacy screen when the privacy
screen provider driver has not been loaded yet.
Make dracut add the privacy screen providing drivers to the initrd
(when necessary for hostmode=yes), so that drm drivers on affected
drivers can probe() successfully.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
modules.d/50drm/module-setup.sh | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh
index aca01505..cff0550c 100755
--- a/modules.d/50drm/module-setup.sh
+++ b/modules.d/50drm/module-setup.sh
@@ -29,6 +29,8 @@ installkernel() {
# as we could e.g. be in the installer; nokmsboot boot parameter will disable
# loading of the driver if needed
if [[ $hostonly ]]; then
+ local i modlink modname
+
for i in /sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?}/*/modalias; do
[[ -e $i ]] || continue
[[ -n $(< "$i") ]] || continue
@@ -39,7 +41,19 @@ installkernel() {
fi
fi
done
+ # if there is a privacy screen then its driver must be loaded before the
+ # kms driver will bind, otherwise its probe() will return -EPROBE_DEFER
+ # note privacy screens always register, even with e.g. nokmsboot
+ for i in /sys/class/drm/privacy_screen-*/device/driver/module; do
+ [[ -L $i ]] || continue
+ modlink=$(readlink "$i")
+ modname=$(basename "$modlink")
+ instmods "$modname"
+ done
else
dracut_instmods -o -s "drm_crtc_init|drm_dev_register|drm_encoder_init" "=drivers/gpu/drm" "=drivers/staging"
+ # also include privacy screen providers (see above comment)
+ # atm all providers live under drivers/platform/x86
+ dracut_instmods -o -s "drm_privacy_screen_register" "=drivers/platform/x86"
fi
}
--
2.33.1

View File

@ -1,28 +0,0 @@
From b292ce7295f18192124e64e5ec31161d09492160 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Thu, 12 Aug 2021 11:46:35 +0200
Subject: [PATCH] fix(kernel-modules): add blk_mq_alloc_disk and
blk_cleanup_disk to blockfuncs
Since kernel 5-14 those are used by many drivers for example:
xen-blkfront, loop, nbd, pd
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 8b06893a..69dc18b5 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -2,7 +2,7 @@
# called by dracut
installkernel() {
- local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host|scsi_add_host_with_dma'
+ local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host|scsi_add_host_with_dma|blk_mq_alloc_disk|blk_cleanup_disk'
local -A _hostonly_drvs
find_kernel_modules_external() {
--
2.33.0

View File

@ -1,106 +0,0 @@
From 5ddcd63cc23dc8cf5afe00655bf05319a851a60f Mon Sep 17 00:00:00 2001
From: Beniamino Galvani <bgalvani@redhat.com>
Date: Mon, 27 Sep 2021 13:08:34 +0200
Subject: [PATCH 1/2] fix(network-manager): show output on console only with
rd.debug enabled
The module should show the output on console only when initrd debugging is
enabled.
---
modules.d/35network-manager/nm-config.sh | 9 +++++++++
modules.d/35network-manager/nm-initrd.service | 4 +++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
index 74b6db54a4..85f89cb03d 100755
--- a/modules.d/35network-manager/nm-config.sh
+++ b/modules.d/35network-manager/nm-config.sh
@@ -16,6 +16,15 @@ if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
echo '[logging]'
echo 'level=TRACE'
) > /run/NetworkManager/conf.d/initrd-logging.conf
+
+ if [ -n "$DRACUT_SYSTEMD" ]; then
+ mkdir -p /run/systemd/system/nm-initrd.service.d
+ cat << EOF > /run/systemd/system/nm-initrd.service.d/tty-output.conf
+[Service]
+StandardOutput=tty
+EOF
+ systemctl --no-block daemon-reload
+ fi
fi
nm_generate_connections
diff --git a/modules.d/35network-manager/nm-initrd.service b/modules.d/35network-manager/nm-initrd.service
index b9806de084..ad14e91ad1 100644
--- a/modules.d/35network-manager/nm-initrd.service
+++ b/modules.d/35network-manager/nm-initrd.service
@@ -17,7 +17,9 @@ BusName=org.freedesktop.NetworkManager
ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Reload u 0
ExecStart=/usr/sbin/NetworkManager --debug
KillMode=process
-StandardOutput=tty
+# The following gets changed to StandardOutput=tty by nm-config.sh
+# when debug is enabled.
+StandardOutput=null
Environment=NM_CONFIG_ENABLE_TAG=initrd
Restart=on-failure
ProtectSystem=true
From aa55f515b51a67f5ac9298b7bcb11158cdf885ff Mon Sep 17 00:00:00 2001
From: Beniamino Galvani <bgalvani@redhat.com>
Date: Mon, 27 Sep 2021 13:25:55 +0200
Subject: [PATCH 2/2] fix(network-manager): disable tty output if the console
is not usable
The network-manager module also writes logs to the console, so that it's easier
to debug network-related boot issues. If systemd can't open the console, the
service fails and network doesn't get configured.
Add a check to disable tty output when the console is not present or not
usable.
https://github.com/coreos/fedora-coreos-tracker/issues/943
---
modules.d/35network-manager/nm-config.sh | 11 ++++++++---
modules.d/35network-manager/nm-initrd.service | 2 +-
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
index 85f89cb03d..2b13d0a792 100755
--- a/modules.d/35network-manager/nm-config.sh
+++ b/modules.d/35network-manager/nm-config.sh
@@ -18,12 +18,17 @@ if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
) > /run/NetworkManager/conf.d/initrd-logging.conf
if [ -n "$DRACUT_SYSTEMD" ]; then
- mkdir -p /run/systemd/system/nm-initrd.service.d
- cat << EOF > /run/systemd/system/nm-initrd.service.d/tty-output.conf
+ # Enable tty output if a usable console is found
+ # See https://github.com/coreos/fedora-coreos-tracker/issues/943
+ # shellcheck disable=SC2217
+ if [ -w /dev/console ] && (echo < /dev/console) > /dev/null 2> /dev/null; then
+ mkdir -p /run/systemd/system/nm-initrd.service.d
+ cat << EOF > /run/systemd/system/nm-initrd.service.d/tty-output.conf
[Service]
StandardOutput=tty
EOF
- systemctl --no-block daemon-reload
+ systemctl --no-block daemon-reload
+ fi
fi
fi
diff --git a/modules.d/35network-manager/nm-initrd.service b/modules.d/35network-manager/nm-initrd.service
index ad14e91ad1..3e24f52a0a 100644
--- a/modules.d/35network-manager/nm-initrd.service
+++ b/modules.d/35network-manager/nm-initrd.service
@@ -18,7 +18,7 @@ ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/
ExecStart=/usr/sbin/NetworkManager --debug
KillMode=process
# The following gets changed to StandardOutput=tty by nm-config.sh
-# when debug is enabled.
+# when debug is enabled and a usable console is found.
StandardOutput=null
Environment=NM_CONFIG_ENABLE_TAG=initrd
Restart=on-failure

View File

@ -1,39 +0,0 @@
From a0f12fb6a09b09f35ab28753d7c4461c10a8b562 Mon Sep 17 00:00:00 2001
From: Dusty Mabe <dusty@dustymabe.com>
Date: Tue, 29 Jun 2021 15:11:00 -0400
Subject: [PATCH] fix(network-manager): don't pull in systemd-udev-settle
We get a nice warning about it being deprecated:
```
systemd-udev-settle.service is deprecated. Please fix nm-initrd.service not to pull it in.
```
The service is deprecated because its purpose was to wait for the
discovery of all hardware, but it didn't guarantee that (see the
systemd-udev-settle man page).
NM now runs as an independent service and can deal with devices showing
up at any point, but it does need udev to be started. For now just
Want/After systemd-udev-trigger.
---
modules.d/35network-manager/nm-initrd.service | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/35network-manager/nm-initrd.service b/modules.d/35network-manager/nm-initrd.service
index 5f9b9043..b9806de0 100644
--- a/modules.d/35network-manager/nm-initrd.service
+++ b/modules.d/35network-manager/nm-initrd.service
@@ -1,7 +1,7 @@
[Unit]
DefaultDependencies=no
-Wants=systemd-udev-settle.service
-After=systemd-udev-settle.service
+Wants=systemd-udev-trigger.service
+After=systemd-udev-trigger.service
After=dracut-cmdline.service
Wants=network.target
Before=network.target
--
2.31.1

View File

@ -1,26 +0,0 @@
From a97d6e2b13146783831b166ec5e8b33b29c514b0 Mon Sep 17 00:00:00 2001
From: Dusty Mabe <dusty@dustymabe.com>
Date: Fri, 25 Jun 2021 15:27:37 -0400
Subject: [PATCH] fix(network-manager): pull in network.target in
nm-initrd.service
Otherwise units with `After=network.target` won't have any effect.
---
modules.d/35network-manager/nm-initrd.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/35network-manager/nm-initrd.service b/modules.d/35network-manager/nm-initrd.service
index 815797a4..5f9b9043 100644
--- a/modules.d/35network-manager/nm-initrd.service
+++ b/modules.d/35network-manager/nm-initrd.service
@@ -3,6 +3,7 @@ DefaultDependencies=no
Wants=systemd-udev-settle.service
After=systemd-udev-settle.service
After=dracut-cmdline.service
+Wants=network.target
Before=network.target
ConditionPathExists=/run/NetworkManager/initrd/neednet
ConditionPathExistsGlob=|/usr/lib/NetworkManager/system-connections/*
--
2.31.1

View File

@ -1,34 +0,0 @@
From a97d2cedcf65a9a2fbff2591171f0163c7d3cb46 Mon Sep 17 00:00:00 2001
From: Dusty Mabe <dusty@dustymabe.com>
Date: Thu, 24 Jun 2021 14:41:08 -0400
Subject: [PATCH] fix(network-manager): support teaming under NM+systemd
Previously when NM was run without dbus then teaming would come
up appropriately [1], but now that dbus exists we also need to
include some supporting infrastructure to allow for it to work
again.
[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/d689380cfc5734a29b1302d68027190e1a606265
---
modules.d/35network-manager/module-setup.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules.d/35network-manager/module-setup.sh b/modules.d/35network-manager/module-setup.sh
index 0b7d21ae..f8561468 100755
--- a/modules.d/35network-manager/module-setup.sh
+++ b/modules.d/35network-manager/module-setup.sh
@@ -38,6 +38,11 @@ install() {
inst "$dbussystem"/org.freedesktop.NetworkManager.conf
inst_multiple nmcli nm-online
+ # teaming support under systemd+dbus
+ inst_multiple -o \
+ "$dbussystem"/teamd.conf \
+ "$dbussystemconfdir"/teamd.conf
+
# Install a configuration snippet to prevent the automatic creation of
# "Wired connection #" DHCP connections for Ethernet interfaces
inst_simple "$moddir"/initrd-no-auto-default.conf /usr/lib/NetworkManager/conf.d/
--
2.31.1

View File

@ -5,11 +5,11 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
%define dist_free_release 8
%define dist_free_release 1
Name: dracut
Version: 055
Release: %{dist_free_release}%{?dist}.1
Version: 056
Release: %{dist_free_release}%{?dist}
Summary: Initramfs generator using udev
%if 0%{?fedora} || 0%{?rhel}
@ -36,27 +36,6 @@ Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
# for debugging) - workaround for RHBZ #1964879 / upstream #1521, to
# be removed when that is properly fixed
Patch0: 0001-Never-enable-the-bluetooth-module-by-default-1521.patch
# Fixes for NM running via systemd+dbus in the initramfs
# https://github.com/dracutdevs/dracut/pull/1547
# https://github.com/dracutdevs/dracut/pull/1548
Patch1: 0001-fix-network-manager-support-teaming-under-NM-systemd.patch
Patch2: 0001-fix-network-manager-pull-in-network.target-in-nm-ini.patch
# Drop requirement on deprecated systemd-udev-settle
# https://github.com/dracutdevs/dracut/pull/1552
Patch3: 0001-fix-network-manager-don-t-pull-in-systemd-udev-settl.patch
# https://github.com/dracutdevs/dracut/pull/1616/
Patch4: 0001-fix-90kernel-modules-add-Type-C-USB-drivers-for-gene.patch
# Adds more block functions to ensure all needed block drivers are included
# https://bugzilla.redhat.com/show_bug.cgi?id=2010058
# https://github.com/dracutdevs/dracut/pull/1584
Patch5: 0001-fix-kernel-modules-add-blk_mq_alloc_disk-and-blk_cle.patch
# Network manager: disable tty output if the console is not usable
Patch6: https://github.com/dracutdevs/dracut/pull/1611.patch#/0001-fix-network-manager-disable-tty-if-no-console.patch
# Add support for isp1760 usb device used as the boot drive on arm/corestone
Patch7: 0001-fix-90kernel-modules-add-isp1760-USB-controller.patch
# For new drm-privacy screen support in kernel >= 5.17, also see:
# https://hansdegoede.livejournal.com/25948.html
Patch8: 0001-fix-drm-add-privacy-screen-modules-to-the-initrd.patch
BuildRequires: bash
BuildRequires: git-core
@ -249,6 +228,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
%if %{defined _unitdir}
# with systemd IMA and selinux modules do not make sense
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01systemd-integritysetup
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/96securityfs
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
@ -399,6 +379,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/90qemu
%{dracutlibdir}/modules.d/91crypt-gpg
%{dracutlibdir}/modules.d/91crypt-loop
%{dracutlibdir}/modules.d/91fido2
%{dracutlibdir}/modules.d/91pcsc
%{dracutlibdir}/modules.d/91pkcs11
%{dracutlibdir}/modules.d/91tpm2-tss
%{dracutlibdir}/modules.d/95debug
%{dracutlibdir}/modules.d/95fstab-sys
@ -422,6 +405,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/95zfcp_rules
%endif
%if %{undefined _unitdir}
%{dracutlibdir}/modules.d/01systemd-integritysetup
%{dracutlibdir}/modules.d/96securityfs
%{dracutlibdir}/modules.d/97masterkey
%{dracutlibdir}/modules.d/98integrity
@ -449,6 +433,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_unitdir}/dracut-pre-pivot.service
%{_unitdir}/dracut-pre-trigger.service
%{_unitdir}/dracut-pre-udev.service
%{_unitdir}/dracut-shutdown-onfailure.service
%{_unitdir}/initrd.target.wants/dracut-cmdline.service
%{_unitdir}/initrd.target.wants/dracut-initqueue.service
%{_unitdir}/initrd.target.wants/dracut-mount.service
@ -510,6 +495,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%changelog
* Thu Mar 03 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 056-1
- Update to 056
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 055-8.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (dracut-055.tar.xz) = 2d2ea2889d9013bc94245bd7d1a2154f24d02bd9c2f7dbb28e5968e17d918e6598c68d85b0f551f968218980a80b19361ca0c9e8e94997ba54f4c09afcd6d866
SHA512 (dracut-056.tar.xz) = 19268763e128984d20cab766bbdf2de12fe534ce2562fc688203099ef9b4cf83d0ccd2129499c70cdc6dd4ad53f0ffc2f3378eff5b8a15fda27c23b20f903df2