在 Debian 系统中,“提取驱动”通常指获取驱动源码、模块文件或固件,具体取决于你是要编译、移植、分析还是备份驱动。下面按常见场景给你一个清晰的操作指南。
Linux 驱动一般分为三类:
lspci -k
或(USB 设备):
lsusb
示例输出中会看到:
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
lsmod
查找具体模块:
lsmod | grep iwlwifi
modinfo 驱动名
示例:
modinfo iwlwifi
输出中会有:
filename: /lib/modules/6.1.0-amd64/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
cp /lib/modules/6.1.0-amd64/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko ~/
✅ 这就是“提取驱动模块”
dpkg -S iwlwifi.ko
或:
apt-file search iwlwifi.ko
(如未安装 apt-file)
apt install apt-file
apt-file update
apt-get download linux-modules-extra-6.1.0-amd64
解压:
dpkg-deb -x linux-modules-extra-*.deb .
驱动就在:
./lib/modules/6.1.0-amd64/kernel/
apt source linux
或指定版本:
apt-cache search linux-source
apt install linux-source-6.1
源码位置:
/usr/src/linux-source-6.1/
驱动源码通常在:
drivers/
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
dmesg | grep firmware
/lib/firmware
apt install firmware-linux firmware-linux-nonfree
提取方式:
cp -r /lib/firmware ~/firmware_backup
⚠️ 不能真正反编译,但可以导出模块信息:
modprobe --show-depends 驱动名
或使用:
objdump -d 驱动.ko
| 需求 | 推荐方式 |
|---|---|
| 备份驱动 | 复制 .ko 文件 |
| 移植驱动 | 提取 .ko + 对应内核版本 |
| 编译驱动 | apt source linux |
| 修复缺驱动 | 安装 firmware / linux-modules |
| 查看驱动来源 | modinfo / lspci -k |
你可以直接告诉我:
cat /etc/debian_version)我可以给你精确到命令级别的方案。