Hwdetect
hwdetect 是一个硬件检测脚本,主要用于加载或列出 mkinitcpio.conf 中使用的模块。因此,它会告知用户驱动硬件所需的内核模块。这与其他许多工具形成对比,后者仅查询硬件并显示原始信息,而将用户与所需驱动程序相关联的任务留给用户。该脚本利用 Linux 内核采用的 sysfs 子系统导出的信息。
安装
用法
请参阅 hwdetect 源码,或运行 hwdetect --help
。
示例
您可以使用以下方法在 mkinitcpio.conf 中填充 MODULES
。
# hwdetect --show-modules
该命令应具有与以下类似的输出(取决于系统)
SOUND : pcspkr OTHER : 8139cp 8139too ac
根据所使用的内容,复制模块名称以替换 /etc/mkinitcpio.conf
中的 MODULES
部分。系统现在应该启动更快,因为某些或所有硬件检测和模块依赖性计算已经声明。
注意
- 该工具具有在
/etc/mkinitcpio.conf
中使用的专用输出。 - 如果任何模块名称因较新的内核具有较新的模块而更改,或者您在计算机上安装了新硬件,则您需要重新生成模块列表并更新
MODULES
。
技巧与诀窍
未使用的模块
要生成当前未使用的模块列表,请使用以下脚本
awk -F: '{gsub("-","_"); print $2}'); do if ! grep -q "$hw" <(printf '%s\n' "${modules[@]}"); then printf '%s\n' "$hw"; fi done
更高级别的模块
反之的脚本也很有趣,因为它列出了更高级别的模块,从某种意义上说,它们与特定硬件的关联较少
awk -F: '{gsub("-","_"); print $2}')) for mod in $(awk '{print $1}' /proc/modules); do if ! grep -q "$mod" <(printf '%s\n' "${lowlevel[@]}"); then printf '%s\n' "$mod"; fi done