嵌入式Linux驱动程序加载

时间:2011-08-10 14:42:00

标签: linux module kernel arm

我正在为嵌入式Linux(ARM)开发设备驱动程序。 如何编译作为内核的一部分生成的KO文件, 以某种方式模块将在启动时加载?

这是我第一次将驱动程序编译到内核而不是可加载模块。所以我不知道该怎么做。

谢谢, Ramon的。

2 个答案:

答案 0 :(得分:2)

对于您的第一个问题,我假设您想要将驱动程序静态地构建到内核映像中(而不是作为模块)。首先,在drivers目录中选择要放置驱动程序文件的目录。假设您要将文件放在drivers/char/中。将文件复制到此目录中。 Kconfig目录中会有一个drivers/char/文件,打开它并在endmenu之前添加这样的条目。

config MYDRIVER
    bool "This is a driver for something"
    default n
    help
      This is a test driver.

保存文件并在同一目录中打开Makefile。转到文件末尾并添加以下条目。

     obj-$(CONFIG_MYDRIVER)            += mydriver.o

就是你已经将文件添加到内核树了。现在,像往常一样,make menuconfig并选择MYDRIVER

有关详细信息,请参阅此Kernel Compilation article

答案 1 :(得分:1)

您需要将设备驱动程序构建为内置。您可以手动编辑内核 .config 文件,并将“= m”更改为“= y”以获取属于您的模块的CONFIG选项,或使用 make menuconfig <M>更改为<*>以获取设备驱动程序。

before -> <M> Your Device Driver Name Here
after  -> <*> Your Device Driver Name Here