openwrt中添加自定义驱动模块

本文介绍如何在OpenWrt系统中定制并添加网络设备驱动模块,包括配置文件的修改、Makefile的编写及Kconfig文件的设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:make menuconfig中的 kernel modules


其中的各个配置选项来自于下面目录中的.mk文件

[root@localhost /openwrt/openwrt/trunk/package/kernel/linux/modules]$ls
001-depends.mk  crypto.mk    hwmon.mk  leds.mk        netdevices.mk.bak  nls.mk     sound.mk  video.mk    wireless11221.mk
block.mk        firewire.mk  i2c.mk    lib.mk         netfilter.mk       other.mk   spi.mk    virtual.mk  wireless.mk
can.mk          fs.mk        input.mk  netdevices.mk  netsupport.mk      pcmcia.mk  usb.mk    w1.mk
[root@localhost /openwrt/openwrt/trunk/package/kernel/linux/modules]$

兄弟们可以打开就知道,


其中我们将自己将要添加的内核模块添加到Network Devices中。添加之后的效果为:


2:添加自己的模块到文件netdevices.mk


其中自己的模块代码在 FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethernet中

内核控制选项为:CONFIG_AR9344_PHY8035 其中这个很重要需要在多个文件中进行定义AR9344_PHY8035。

在下面的目录中的Makefile添加obj-y += ethernet/

[root@localhost /openwrt/openwrt/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.10.36/drivers/net/ethernet]$more Makefile
#
# Makefile for the Linux network Ethernet device drivers.
#
obj-y += ethernet/

同时还需要在Kconfig中添加source "drivers/net/ethernet/ethernet/Kconfig"

其中内容如下:

[root@localhost /openwrt/openwrt/trunk/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.10.36/drivers/net/ethernet/ethernet]$cat Kconfig
config AR9344_PHY8035  //很重要的东西
        tristate "db12x borad for 9344chip"
        depends on PCI
        ---help---
          This driver supports for ar9035 phy id

其中看看自己模块中的makefile的内容如下:


主要上面makefile中的CONFIG_AR9344_PHY8035的变量,关于此值相关的配置值如下:

[root@localhost /openwrt/openwrt/trunk]$cat .config |grep 9344
CONFIG_PACKAGE_kmod-ar9344_ethernet=y


其中不管CONFIG_PACKAGE_kmod-ar9344_ethernet=y的 值是Y还是M,Linux内核目录中的CONFIG_AR9344_PHY8035的值都是M,古可以知道在根目录(/openwrt/openwrt/trunk)中的make menuconfig的时候是会与Linux内核中的config文件建立起联系的,之间是怎么的联系,现在还不是很清楚。

当在在总的menuconfig中选中自定义的模块之后,系统会自动将此模块加载到内核所在文件系统中


同事也会成ipk格式的文件。

Generating index for package ./kmod-ar9344_ethernet_3.10.36-1_ar71xx.ipk



评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

家有工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值