赞
踩
《Linux入门与基础》课程教案_小王小王指定辉煌的博客-CSDN博客_linux入门与基础教案
linux常用命令笔记(二)_小王小王指定辉煌的博客-CSDN博客
查看系统版本号
- uname -r
- uname -a
- cat /proc/version
或`/lib/modules/`下文件夹的名字(但是可能有多个)。
下载源码(旧版本链接如下):
http://old.kali.org/kali/pool/main/l/linux/
sudo dpkg -i <package_name.deb>
安装的源码位置
/usr/src/
解压对应的package_name.tar.xz
- xz -d package_name.tar.xz
- tar -zxvf package_name.tar
进入目录
- cd /usr/src/linux-source-5.10
- ls
进入目录,已有的驱动源码如下:
- cd drivers/net/wireless/
- cd mediatek/mt76
打开并编辑Makefile,末尾处添加:
vim Makefile
- # 末尾处 Add 如下:
- # 在Makefile的最后添加以下命令
- # 如果你是在运行平台上编译的,你可以直接用下面这一行,来动态的找到平台的Linux版本编译模块所需的目录
- # KERNEL_DIR = /lib/modules/`uname -r`/build
- KERNEL_DIR = /lib/modules/5.13.0-40-generic/build
- MODULEDIR := $(shell pwd)
-
- modules:
- make -C $(KERNEL_DIR) M=$(MODULEDIR) modules
-
- # 原文链接:https://blog.csdn.net/LITTENg/article/details/124617311
无权限保存则先执行:
sudo chmod 777 *
编译可能需要的包:(可选项)
apt-get install Autoconf
开始编译:
sudo make
如下:
得到kernel object:
mt76.ko mt76-usb.ko mt76x02-lib.ko mt76x02-usb.ko
同样:
先 vim Makefile,
末尾添加内容,
再sudo make
编译过程如图:
这里用其他驱动举例:
1. 找到该缺失的文件位置,可能会在上一级目录,下一级目录,兄弟目录,兄弟include目录,libxx目录中。实在找不到,退到父文件夹,右键,在当前文件夹里搜索。
2. 根据报错信息提示路径,找到报错文件使用mousepad打开
3. 计算出要被include的文件关于出错文件libcxgb_cm.h的相对位置,并修改
include<>里面一般是库文件,include ""是相对路径下的文件
故修改前后如下:
需要chmod再保存。
4. sudo make重现编译
(此错误估计和gcc有关,可能出现多处include错误,尚未寻找定义include<>位置的比较好的修改方法,目前是改源码的include,亲测可以解决。)
1. 直接安装目标驱动报错如下:
- sudo insmod *.ko
- sudo insmod mt76x2u.ko
原因是缺少依赖模块
2. 查找依赖模块
3.依次查找依赖并安装,最终以正确顺序安装即可
- sudo modprobe mac80211
- sudo modprobe cfg80211
-
- sudo insmod mt76.ko
- cd mt76x2
-
- sudo insmod mt76x02-lib
- sudo insmod mt76x2-common
- sudo insmod mt76-usb
- sudo insmod mt76x02-usb
-
- sudo modprobe usbcore
-
- sudo insmod mt76x2u.ko
mac80211
cfg80211
mt76.ko
mt76x02-lib
mt76x2-common
mt76-usb
mt76x02-usb
usbcore
mt76x2u.ko
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。