[Topic DIscussion] 驱动程序
Tofloor
poster avatar
Lwh2008-Equinox
deepin
2022-10-12 21:41
Author

Linux驱动程序在/dev下面吗,我可以把Debian里面的东西直接搞deepin里面吗

Reply Favorite View the author
All Replies
璀璨星空
deepin
2022-10-12 22:34
#1

不要乱搞呦,小心出事情

Reply View the author
Lwh2008-Equinox
deepin
2022-10-12 23:49
#2
璀璨星空

不要乱搞呦,小心出事情

虚拟机,打算qemu里面arm模拟。无聊的试一试,估计还要搞什么微码什么的,不清楚是不是还要搞调度脚本,不过Debian驱动程序还是很可靠的“通用操作系统”可不是吹的(滑稽)

Reply View the author
blue_whale
deepin
2022-10-13 00:28
#3

虚拟机啊, 随便整, 反正可以恢复的嘛

Reply View the author
Lwh2008-Equinox
deepin
2022-10-13 01:51
#4
blue_whale

虚拟机啊, 随便整, 反正可以恢复的嘛

正解

Reply View the author
enforcee
deepin
2022-10-13 01:55
#5

/dev里面不是驱动程序,而是“设备文件”,Linux规定所有设备都需要创建一个“文件节点”,以读写文件的方式进行控制,例如鼠标可以看作一个只读文件,打印机可以看作一个只写文件。建立设备文件可以采用mknod命令。设备文件都是在运行时创建的,复制是没有效果的

Linux的驱动程序是以内核模块的方式存在的,存放位置在/usr/lib/modules/ ,扩展名.ko,由于linux的abi并不稳定,驱动程序都要对每个版本的内核单独编译,只复制文件不一定能通用。比如nvidia的驱动虽然是单独的一个安装脚本,但是他需要安装内核的头文件,并自带一定量的源代码,使用dkms在每次内核更新时即时进行编译。而不是仅仅把文件放在目录中。另外,仅仅将文件放入这个目录也不能让驱动生效,需要采用udev、modprobe等工具进行内核模块的加载和配置才能正常使用

Reply View the author
Lwh2008-Equinox
deepin
2022-10-13 06:06
#6
enforcee

/dev里面不是驱动程序,而是“设备文件”,Linux规定所有设备都需要创建一个“文件节点”,以读写文件的方式进行控制,例如鼠标可以看作一个只读文件,打印机可以看作一个只写文件。建立设备文件可以采用mknod命令。设备文件都是在运行时创建的,复制是没有效果的

Linux的驱动程序是以内核模块的方式存在的,存放位置在/usr/lib/modules/ ,扩展名.ko,由于linux的abi并不稳定,驱动程序都要对每个版本的内核单独编译,只复制文件不一定能通用。比如nvidia的驱动虽然是单独的一个安装脚本,但是他需要安装内核的头文件,并自带一定量的源代码,使用dkms在每次内核更新时即时进行编译。而不是仅仅把文件放在目录中。另外,仅仅将文件放入这个目录也不能让驱动生效,需要采用udev、modprobe等工具进行内核模块的加载和配置才能正常使用

驱动程序只要编译然后搞成模块就可以了吗,不需要microcode或者是什么吗

Reply View the author
enforcee
deepin
2022-10-13 06:46
#7
Lwh2008-Equinox

驱动程序只要编译然后搞成模块就可以了吗,不需要microcode或者是什么吗

微码可以编译进内核,也可以在启动引导时在加载引导启动盘之前加载。和驱动没什么关系

Reply View the author
Lwh2008-Equinox
deepin
2022-10-13 06:56
#8
enforcee

微码可以编译进内核,也可以在启动引导时在加载引导启动盘之前加载。和驱动没什么关系

谢谢指导

Reply View the author
Lwh2008-Equinox
deepin
2022-10-14 16:59
#9
enforcee

/dev里面不是驱动程序,而是“设备文件”,Linux规定所有设备都需要创建一个“文件节点”,以读写文件的方式进行控制,例如鼠标可以看作一个只读文件,打印机可以看作一个只写文件。建立设备文件可以采用mknod命令。设备文件都是在运行时创建的,复制是没有效果的

Linux的驱动程序是以内核模块的方式存在的,存放位置在/usr/lib/modules/ ,扩展名.ko,由于linux的abi并不稳定,驱动程序都要对每个版本的内核单独编译,只复制文件不一定能通用。比如nvidia的驱动虽然是单独的一个安装脚本,但是他需要安装内核的头文件,并自带一定量的源代码,使用dkms在每次内核更新时即时进行编译。而不是仅仅把文件放在目录中。另外,仅仅将文件放入这个目录也不能让驱动生效,需要采用udev、modprobe等工具进行内核模块的加载和配置才能正常使用

确实,.ko.xz

Reply View the author