标签:
You are planning to compile a kernel module? This howto will explain what you have to do, to have your kernel module installable as an ipkg.
Enable the kernel options you want by modifying build_mipsel/linux/.config. We are assuming, that you already had your kernel compiled once here. You can do the modification by hand or by
$ cd build_mipsel/linux $ make menuconfig
And copy it, so your changes are not getting lost, when doing a ‘make dirclean‘. Here we assume that you are compiling for Broadcom chipset based devices:
$ cp .config ../../../target/linux/linux-2.4/config/brcm
Create a buildroot option by modifying/inserting into target/linux/Config.in, e.g.
config BR2_PACKAGE_KMOD_USB_KEYBOARD tristate "Support for USB keyboards" default m depends BR2_PACKAGE_KMOD_USB_CONTROLLER
Define the binary files for the kernel module by modifying/inserting into target/linux/linux-2.4/Makefile, e.g.
$(eval $(call KMOD_template,USB_KEYBOARD,usb-kbd, $(MODULES_DIR)/kernel/drivers/input/input.o $(MODULES_DIR)/kernel/drivers/input/keybdev.o $(MODULES_DIR)/kernel/drivers/usb/usbkbd.o ,CONFIG_USB_KEYB,kmod-usb-core,60,input keybdev usbkbd))
Where CONFIG_USB_KEYB is the kernel option, USB_KEYBOARD is the last part of BR2_PACKAGE_KMOD_USB_KEYBOARD and usb-kbd is part of the filename of the created ipkg.
Create e.g. target/linux/control/kmod-usb-kbd.control with content similar to this:
Package: kmod-usb-kbd Priority: optional Section: sys Maintainer: Markus Becker <mab@comnets.uni-bremen.de> Source: buildroot internal Description: Kernel Support for USB Keyboards
Enable the kernel module with
$ make menuconfig
in TOPDIR and selecting it. Compile with
$ make dirclean && make
OpenWrt Kernel Module Creation Howto
标签:
原文地址:http://www.cnblogs.com/destim/p/4449201.html