我正在为嵌入式 linux(ARM) 开发设备驱动程序。 如何编译作为内核一部分生成的 KO 文件, 以某种方式在启动时加载模块?
这是我第一次需要将驱动程序编译到内核中,而不是作为可加载模块。所以我不确定该怎么做。
谢谢, 拉蒙。
最佳答案
对于你的第一个问题,我假设你想将你的驱动程序静态地构建到内核镜像中(而不是作为一个模块)。首先,您在 drivers 目录中选择一个要放置驱动程序文件的目录。假设您想将文件放在 drivers/char/
中。将您的文件复制到此目录中。 drivers/char/
目录下会有一个Kconfig
文件,打开它并在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了解更多信息。
关于linux - 嵌入式linux驱动加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012650/