summaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel')
-rw-r--r--package/kernel/Makefile87
-rw-r--r--package/kernel/modules.mk33
2 files changed, 120 insertions, 0 deletions
diff --git a/package/kernel/Makefile b/package/kernel/Makefile
new file mode 100644
index 000000000..580bf1937
--- /dev/null
+++ b/package/kernel/Makefile
@@ -0,0 +1,87 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=kernel
+PKG_VERSION:=$(LINUX_VERSION)-$(BOARD)
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/packages
+
+include $(INCLUDE_DIR)/package.mk
+ifeq ($(DUMP),)
+-include $(LINUX_DIR)/.config
+include $(INCLUDE_DIR)/netfilter.mk
+endif
+
+define Build/Prepare
+ mkdir -p $(PKG_BUILD_DIR)
+endef
+
+define Build/Compile
+endef
+
+define KernelPackage/Defaults
+FILES:=
+KCONFIG:=
+AUTOLOAD:=
+endef
+
+define ModuleAutoLoad
+ export modules=; \
+ add_module() { \
+ mkdir -p $(2)/etc/modules.d; \
+ echo "$$$$$$$$2" > $(2)/etc/modules.d/$$$$$$$$1-$(1); \
+ modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
+ }; \
+ $(3) \
+ [ -n "$$$$$$$$modules" ] && { \
+ mkdir -p $(2)/etc/modules.d; \
+ echo "#!/bin/sh" >> $(2)/CONTROL/postinst; \
+ echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit" >> $(2)/CONTROL/postinst; \
+ echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
+ echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
+ chmod 0755 $(2)/CONTROL/postinst; \
+ }
+endef
+
+
+define KernelPackage
+ NAME:=$(1)
+ $(eval $(call KernelPackage/Defaults))
+ $(eval $(call KernelPackage/$(1)))
+ $(eval $(call KernelPackage/$(1)/$(KERNEL)))
+
+ ifneq ($(KCONFIG),m)
+ CONFIG_PACKAGE_kmod-$(1):=
+ endif
+
+ define Package/kmod-$(1)
+ TITLE:=$(TITLE)
+ SECTION:=kernel
+ CATEGORY:=Kernel modules
+ DESCRIPTION:=$(DESCRIPTION)
+ EXTRA_DEPENDS:='kernel (=$(PKG_VERSION))'
+ endef
+
+ define Package/kmod-$(1)/install
+ mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
+ $(CP) $(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
+ $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
+ endef
+ $$(eval $$(call BuildPackage,kmod-$(1)))
+endef
+
+define AutoLoad
+add_module $(1) "$(2)";
+endef
+
+include ./modules.mk
+
diff --git a/package/kernel/modules.mk b/package/kernel/modules.mk
new file mode 100644
index 000000000..b777c1177
--- /dev/null
+++ b/package/kernel/modules.mk
@@ -0,0 +1,33 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+define KernelPackage/ide-core
+TITLE:=Kernel support for IDE
+DESCRIPTION:=Kernel modules for IDE support\\\
+ useful for usb mass storage devices (e.g. on WL-HDD)\\\
+ \\\
+ Includes: \\\
+ - ide-core \\\
+ - ide-detect \\\
+ - ide-disk \\\
+ - pdc202xx_old
+KCONFIG:=$(CONFIG_IDE)
+FILES:=$(MODULES_DIR)/kernel/drivers/ide/*.$(LINUX_KMOD_SUFFIX)
+AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,90,ide-detect ide-disk)
+endef
+$(eval $(call KernelPackage,ide-core))
+
+define KernelPackage/ide-pdc202xx
+TITLE:=PDC202xx IDE driver
+DESCRIPTION:=PDC202xx IDE driver
+KCONFIG:=$(CONFIG_BLK_DEV_PDC202XX_OLD)
+FILES:=$(MODULES_DIR)/kernel/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
+AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
+endef
+$(eval $(call KernelPackage,ide-pdc202xx))
+