linux内核模块编译和安装--kni module移植的makefile

根据需要需要把依赖dpdk的kni module移植,所以就学习了下模块编译makefile,总结如下

Makefile内容如下

obj-m += rte_kni.o  #要生成的module文件名为rte_kni.ko
#指定生成module需要的所有.o文件
rte_kni-objs:=kni_misc.o kni_ethtool.o kni_net.o ethtool/ixgbe/ixgbe_main.o ethtool/ixgbe/ixgbe_api.o ethtool/ixgbe/ixgbe_common.o ethtool/ixgbe/ixgbe_ethtool.o ethtool/ixgbe/ixgbe_82599.o ethtool/ixgbe/ixgbe_82598.o ethtool/ixgbe/ixgbe_x540.o ethtool/ixgbe/ixgbe_phy.o ethtool/ixgbe/kcompat.o ethtool/igb/e1000_82575.o ethtool/igb/e1000_i210.o ethtool/igb/e1000_api.o ethtool/igb/e1000_mac.o ethtool/igb/e1000_manage.o ethtool/igb/e1000_mbx.o ethtool/igb/e1000_nvm.o ethtool/igb/e1000_phy.o ethtool/igb/igb_ethtool.o ethtool/igb/igb_hwmon.o ethtool/igb/igb_main.o ethtool/igb/igb_debugfs.o ethtool/igb/igb_param.o ethtool/igb/igb_procfs.o ethtool/igb/igb_vmdq.o
PWD:=$(shell pwd)
KERNEL_VERSION=/lib/modules/`uname -r`/build
#指定编译过程中需要引用的文件路径
CFLAGS +=  -I$(PWD)/ethtool/ixgbe -I$(PWD)/ethtool/igb
CFLAGS += -Wall -Werror
#编译入口
all:
        make -C $(KERNEL_VERSION) M=$(PWD) modules
clean:
        make -C $(KERNEL_VERSION) M=$(PWD) clean
kni模块主要文件可通过下面网址看到

http://www.dpdk.org/browse/dpdk/commit/?id=3fc5ca2f63529ec5ad7b1b75f517d61dc7613bd9

将Makefile放在kni路径下

make

即可生成module,module文件为rte_kni.ko

加载模块

insmod rte_kni.ko kthread_mode=multiple
提示错误insmod: error inserting 'rte_kni.ko': -1 Unknown symbol in module
dmesg日志显示
rte_kni: Unknown symbol hwmon_device_register
rte_kni: Unknown symbol hwmon_device_unregister
通过modinfo rte_kni.ko查看依赖hwmon模块
加载依赖模块
modprobe hwmon
然后
insmod rte_kni.ko kthread_mode=multiple
安装成功 dmesg日志如下
KNI: ######## DPDK kni module loading ########
KNI: loopback disabled
KNI: ######## DPDK kni module loaded  ########
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值