2012-08-06 72 views
0

我想为Android构建一个内核模块,使用2.6.32内核(一个PL2303 USB串行转换器模块,更准确),但由于某种原因,我无法实际构建模块。无法完成构建内核模块的Android

这是我运行的代码编译模块之前:

export PATH=~/android-ndk-r5/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/:$PATH 
make menuconfig ARCH=arm CROSS_COMPILE=arm-eabi- -j4 

配置一切以符合平板电脑的内核版本后,我跑

make modules ARCH=arm CROSS_COMPILE=arm-eabi- -j4 

这是位于驱动器生成文件/ usb/serial(还有其他几行,比如位于该文件夹中的所有其他驱动程序的最后一行),这只是我正在使用的一个驱动程序)

obj-$(CONFIG_USB_SERIAL)   += usbserial.o 

usbserial-obj-$(CONFIG_USB_SERIAL_CONSOLE) += console.o 
usbserial-obj-$(CONFIG_USB_EZUSB)  += ezusb.o 

usbserial-objs := usb-serial.o generic.o bus.o $(usbserial-obj-y) 

obj-$(CONFIG_USB_SERIAL_PL2303)  += pl2303.o 

但是,这只会创建.o文件,并停止不建立实际的.ko文件。任何想法是什么造成这种情况?

+0

什么是你的生成文件? – Hassan 2012-08-06 13:47:58

+0

在makefile中使用obj-m选项 – 2015-12-18 05:47:37

回答

2

OBJ-M:= usbserial.o告诉它使usbserial.ko

请检查的Makefilethis,它可能会有所帮助。