驱动折腾小记
很多人更新了内核,但是自己的外设依然没有驱动,是因为仅仅更新内核是不够的,还需要更新固件。
什么是固件?
在许多设备能够与操作系统通信之前,它们必须首先使用设备制造商提供的“固件”进行初始化。这个固件不是Linux的一部分,也不是由内核“执行”的,它只是在驱动程序初始化阶段被上传到设备。
虽然有些固件映像是由自由软件构建的,但其中很大一部分只能以二进制形式重新分发。为了避免任何许可混淆,固件从主Linux树移动到一个名为 linux-firmware 的单独存储库中。
在没有任何非自由固件二进制文件的情况下使用Linux是可能的,但代价是很多硬件无法操作使用。此外,也有很多设备预装了闭源(也称不自由)的固件。如果你的目标是运行一个100%免费的自由设备,你通常需要做的不仅仅是避免只使用二进制的固件。
如何下载和安装固件?
检测固件
那怎样知道自己缺少哪些固件呢?可以在终端里执行下面命令。
sudo update-initramfs -u
如果缺少固件命令会输出“W: Possible missing firmware /lib/firmware/xxx/xxx.bin for module XXX
下载固件
国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/kernel/firmware/
官方地址:https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/
固件地址是按照 日期排序的,尽量选择一个最新的。
替换固件
系统的固件地址在**/lib/firmware/**,将下载的固件解压,然后把要用的驱动XXX的固件.bin复制过去就可以了。
也可以直接将全部的固件直接复制到 /lib/firmware/ 下面替换就行了,由于是根目录下,需要管理员权限。
更新完成后执行, 然后重启电脑。
sudo update-initramfs -u
内核收集
内核里面包含着开源驱动,对,只有开源驱动,像是英伟达的N卡驱动是闭源驱动,是不可能包含到内核中的。如果你所用的设备的驱动没有开源,并且没有提供相应的闭源驱动,那是无法驱动的,例如 汇顶科技的很多指纹识别设备(不是全部),是无解的。
一般去两个作者主页翻一下,基本能找到比较新的内核,下载下来是deb包,双击安装即可。
作者 | 论坛主页🔗 |
---|---|
fslong | https://bbs.deepin.org/user/120814 |
青稚° | https://bbs.deepin.org/user/292516 |
高质量内核相关文章
分享一下论坛高质量文章:
-
关于源内可用内核的查看、安装与本地内核的卸载:https://bbs.deepin.org/post/254997
-
给坛里的朋友介绍一种安装最新内核的方法:https://bbs.deepin.org/post/172006
-
写给Surface用户的Linux入坑指南:https://bbs.deepin.org/post/195290
-
[新手教程] deepin20.5+Linux内核5.18稳定版:https://bbs.deepin.org/post/237619
-
reltek8188GU无线网卡安装:https://bbs.deepin.org/post/211026
-
deepin 平台电源策略 :https://bbs.deepin.org/post/260831
-
[经验分享] 编译打包deb内核:https://bbs.deepin.org/post/256149
-
编译内核的教程,手动编译 kernel 的命令行教程 :https://bbs.deepin.org/post/247599
-
编译deepin主线内核:https://bbs.deepin.org/post/262451