Linux模块文件丢失

问题描述:

其实我是一个初学者,我正试图学习低级驱动程序和高级驱动程序的概念。我想知道模块如何依赖其他模块进行操作。Linux模块文件丢失

我已经完成了lsmod命令。我在输出中找到了这些行。

parport_pc    25962 1 
lp      7028 0 
parport    32635 3 ppdev,parport_pc,lp 

从上面的行,我理解的是,存在模块等,

  • parport_pc
  • LP
  • parport

我发现源代码parport_pc.clp.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丢失?

+2

'.c'文件通常是未编译的文件。您的计算机上可能没有针对您的操作系统的未编译源代码。 – nickgroenke

parport.o文件从多个编译.c文件,包括share.cieee1284.cieee1284_ops.cprocfs.c,并可能包括daisy.cprobe.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