OPENWRT自动编译加载KO

LINUX新版OPENWRT自动编译加载KO

旧版的OpenWrt系统下,编译出的ko模块,需要自己手写启动脚本加载ko,这种方法比较繁琐,好在新版的OpenWrt能实现自动加载ko操作。

需求

把PCIE的驱动编译成ko自动加载

配置

package/kernel/linux/modules/usb.mk

 
  1. XHCI_MODULES := xhci-hcd xhci-pci xhci-plat-hcd

  2. ifdef CONFIG_TARGET_ramips_mt7621

  3. XHCI_MODULES += xhci-mtk

  4. endif

  5. XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,$(XHCI_MODULES)))

  6. XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))

  7. define KernelPackage/usb3

  8. TITLE:=Support for USB3 controllers

  9. DEPENDS:= \

  10. +TARGET_bcm53xx:kmod-usb-bcma \

  11. +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3

  12. KCONFIG:= \

  13. CONFIG_USB_PCI=y \

  14. CONFIG_USB_XHCI_HCD \

  15. CONFIG_USB_XHCI_PCI \

  16. CONFIG_USB_XHCI_PLATFORM \

  17. CONFIG_USB_XHCI_MTK \

  18. CONFIG_USB_XHCI_HCD_DEBUGGING=n

  19. FILES:= \

  20. $(XHCI_FILES)

  21. AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)

  22. $(call AddDepends/usb)

  23. endef

配置选择

 
  1. Kernel modules --->

  2. USB Support --->

  3. <*> kmod-usb3. Support for USB3 controllers

Makefile

 
  1. obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o

  2. obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o

  3. obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o

 Kconfig

 
  1. config USB_XHCI_HCD

  2. tristate "xHCI HCD (USB 3.0) support"

  3. depends on HAS_DMA && HAS_IOMEM

  4. ---help---

  5. The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0

  6. "SuperSpeed" host controller hardware.

  7. To compile this driver as a module, choose M here: the

  8. module will be called xhci-hcd.

  9. if USB_XHCI_HCD

  10. config USB_XHCI_PCI

  11. tristate

  12. depends on USB_PCI

  13. default y

  14. config USB_XHCI_PLATFORM

  15. tristate "Generic xHCI driver for a platform device"

  16. select USB_XHCI_RCAR if ARCH_RENESAS

  17. ---help---

  18. Adds an xHCI host driver for a generic platform device, which

  19. provides a memory space and an irq.

  20. It is also a prerequisite for platform specific drivers that

  21. implement some extra quirks.

  22. If unsure, say N.

  23. endif # USB_XHCI_HCD

编译

只需要在openwrt里面把kmod选择,不用配置内核选项。

 
  1. root@OpenWrt:/# ls /lib/modules/4.14.98/xhci-*

  2. /lib/modules/4.14.98/xhci-hcd.ko /lib/modules/4.14.98/xhci-plat-hcd.ko

  3. /lib/modules/4.14.98/xhci-pci.ko

启动加载

 
  1. root@OpenWrt:/# cat /etc/modules.d/54-usb3

  2. xhci-hcd

  3. xhci-pci

  4. xhci-plat-hcd

加载效果 

 
  1. xhci_hcd 131072 2 xhci_plat_hcd,xhci_pci

  2. xhci_pci 16384 0

  3. xhci_plat_hcd 16384 0

版权声明:本文为TSZ0000原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:Linux新版OpenWrt自动编译加载ko_王二车的博客-CSDN博客_openwrt如何加载ko文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值