Linux模块文件丢失
问题描述:
其实我是一个初学者,我正试图学习低级驱动程序和高级驱动程序的概念。我想知道模块如何依赖其他模块进行操作。Linux模块文件丢失
我已经完成了lsmod
命令。我在输出中找到了这些行。
parport_pc 25962 1
lp 7028 0
parport 32635 3 ppdev,parport_pc,lp
从上面的行,我理解的是,存在模块等,
- parport_pc
- LP
- parport
我发现源代码parport_pc.c
, lp.c
,在目录/usr/src/drivers/parport
中。但我无法在整个文件系统中找到parport
的源代码。尽管我在/lib/modules/linux2.6.32-37-generic/kernel/parport
内发现了parpot.ko
。 另外在目录/usr/src/drivers/parport
,我已经看到了在Makefile中像一条线,
obj-$(CONFIG_PARPORT) += parport.o
所以我在哪里可以找到parport.c
文件?我用命令搜索整个文件系统
find/-name parport.c
但没有结果。为什么文件parport.c
丢失?
答
的parport.o
文件从多个编译.c
文件,包括share.c
,ieee1284.c
,ieee1284_ops.c
和procfs.c
,并可能包括daisy.c
和probe.c
,所有drivers/parport/
目录的Linux的源下。 (这些信息来自Linux 3.5-rc3-00203-g8874e81,比您正在查看的内核稍微更新一些,但并行端口驱动程序没有多大变化)。
为了找到这个信息,我看着同Makefile
并指出parport-objs
变量最初设定在share.o ieee1284.o ieee1284_ops.o procfs.o
,并加入daisy.o probe.o
如果CONFIG_PARPORT_1284
设置为y
。
'.c'文件通常是未编译的文件。您的计算机上可能没有针对您的操作系统的未编译源代码。 – nickgroenke