bb4193a909
Resolves: #2233597
67 lines
2.1 KiB
Diff
67 lines
2.1 KiB
Diff
From bc525e2ef02bbcd09adfedb6c92213f1b84d4740 Mon Sep 17 00:00:00 2001
|
|
From: Pavel Valena <pvalena@redhat.com>
|
|
Date: Tue, 25 Apr 2023 14:56:59 +0200
|
|
Subject: [PATCH] feat(hwdb): install hwdb on demand when module is needed
|
|
|
|
Adding a module to install hwdb. Further extensions might make only selected
|
|
part of hwdb installable, to save space. The module is not included by default.
|
|
|
|
Including the module adds 2MB of compressed data (on Fedora, the file has 12MB).
|
|
|
|
hwdb is needed in case of custom HW, like a keyboard/mouse or various interfaces.
|
|
|
|
Original PR: https://github.com/dracutdevs/dracut/pull/1681
|
|
|
|
(Cherry-picked commit: 062e739d89543a38d4b3e2cab155912bc4bf9e56)
|
|
|
|
Resolves: #2233597
|
|
---
|
|
modules.d/95hwdb/module-setup.sh | 26 ++++++++++++++++++++++++++
|
|
pkgbuild/dracut.spec | 1 +
|
|
2 files changed, 27 insertions(+)
|
|
|
|
diff --git a/modules.d/95hwdb/module-setup.sh b/modules.d/95hwdb/module-setup.sh
|
|
new file mode 100755
|
|
index 00000000..16365377
|
|
--- /dev/null
|
|
+++ b/modules.d/95hwdb/module-setup.sh
|
|
@@ -0,0 +1,26 @@
|
|
+#!/bin/bash
|
|
+# This file is part of dracut.
|
|
+# SPDX-License-Identifier: GPL-2.0-or-later
|
|
+
|
|
+check() {
|
|
+ return 255
|
|
+}
|
|
+
|
|
+# called by dracut
|
|
+install() {
|
|
+ local hwdb_bin
|
|
+
|
|
+ # systemd-hwdb ships the file in /etc, with /usr/lib as an alternative.
|
|
+ # Therefore consider this location as preferred for configuration.
|
|
+ hwdb_bin="${udevdir}"/hwdb.bin
|
|
+
|
|
+ if [[ ! -r "${hwdb_bin}" ]]; then
|
|
+ hwdb_bin="${udevconfdir}"/hwdb.bin
|
|
+ fi
|
|
+
|
|
+ if [[ $hostonly ]]; then
|
|
+ inst_multiple -H "${hwdb_bin}"
|
|
+ else
|
|
+ inst_multiple "${hwdb_bin}"
|
|
+ fi
|
|
+}
|
|
diff --git a/pkgbuild/dracut.spec b/pkgbuild/dracut.spec
|
|
index b2d75951..1996f44d 100644
|
|
--- a/pkgbuild/dracut.spec
|
|
+++ b/pkgbuild/dracut.spec
|
|
@@ -367,6 +367,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
|
|
%{dracutlibdir}/modules.d/91tpm2-tss
|
|
%{dracutlibdir}/modules.d/95debug
|
|
%{dracutlibdir}/modules.d/95fstab-sys
|
|
+%{dracutlibdir}/modules.d/95hwdb
|
|
%{dracutlibdir}/modules.d/95lunmask
|
|
%{dracutlibdir}/modules.d/95nvmf
|
|
%{dracutlibdir}/modules.d/95resume
|