Skip to content

Commit

Permalink
feat(hwdb): install hwdb on demand when module is needed
Browse files Browse the repository at this point in the history
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: #1681
  • Loading branch information
pvalena committed Jul 25, 2023
1 parent 33a66ed commit 51c0a9f
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions modules.d/95hwdb/module-setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/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.
# The alternative location is preferred, as we can consider it being user
# 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
}

0 comments on commit 51c0a9f

Please sign in to comment.