当前位置: 技术问答>linux和unix
linux 内核编译问题,请教高手
来源: 互联网 发布时间:2015-10-18
本文导语: 我做嵌入式系统,遍了几个驱动,想直接编译进内核,不用insmod,不知道该怎么做,请高手指点指点 谢谢 | 先把source code放进相关内核的目录或者自己在driver下面创建一个目录。 例如usb设备的驱动us...
我做嵌入式系统,遍了几个驱动,想直接编译进内核,不用insmod,不知道该怎么做,请高手指点指点
谢谢
谢谢
|
先把source code放进相关内核的目录或者自己在driver下面创建一个目录。
例如usb设备的驱动usb_foo.c,就把你的code放到driver/usb/下,
然后修改driver/usb/Makefile
加上一行obj-y += usb_foo.o
然后编译内核就OK了。
如果想用make menuconfig也能配置它,
就要复杂一点,
比如说在makefile里面的变量名定义为CONFIG_USB_FOO
1.修改driver/usb/Makefile
添加 obj-$(CONFIG_USB_FOO) += usb_foo.o
2.修改kernel目录下的.config
在usb类设备驱动那一块加上
CONFIG_USB_FOO = y
3.修改include/linux/autoconf.h
打开文件后照葫芦画瓢
4.修改driver/usb/Config.in
模仿其他选项添加,在这里就不给你细说了。
menuconfig看到的界面是按照Config.in所显示的,在usb选项里可以找到。
修改成功后,你就可以图形画的界面配置你的driver是直接编译还是选择module方式。
例如usb设备的驱动usb_foo.c,就把你的code放到driver/usb/下,
然后修改driver/usb/Makefile
加上一行obj-y += usb_foo.o
然后编译内核就OK了。
如果想用make menuconfig也能配置它,
就要复杂一点,
比如说在makefile里面的变量名定义为CONFIG_USB_FOO
1.修改driver/usb/Makefile
添加 obj-$(CONFIG_USB_FOO) += usb_foo.o
2.修改kernel目录下的.config
在usb类设备驱动那一块加上
CONFIG_USB_FOO = y
3.修改include/linux/autoconf.h
打开文件后照葫芦画瓢
4.修改driver/usb/Config.in
模仿其他选项添加,在这里就不给你细说了。
menuconfig看到的界面是按照Config.in所显示的,在usb选项里可以找到。
修改成功后,你就可以图形画的界面配置你的driver是直接编译还是选择module方式。