当前位置:网站首页>21-Openwrt 内核模块改成.ko自动加载
21-Openwrt 内核模块改成.ko自动加载
2022-07-13 19:42:00 【Creator_Ly】
openwrt下有很多开源的内核模块位于package/kernel/下,如gpio-button-hotplug、mwlwifi等。这些模块都是文件系统启动后,通过autoload的方式进行insmod载入的。
1、正常思路
在《Openwrt add function module to package》章节里面有介绍,如何添加一个内核模块。
上面介绍的是自己添加一个内核应用模块,然后编译成.ko自动载入。如果是内核里面已经有的模块代码,如何将其改成.ko的方式自动载入。
调试过程遇到过一个问题,内核中phy发送的hotplug事件过早,在文件系统还没启动的时候该事件就已经发出,这样应用成/etc/hotplug.d/phy/下面的脚本无法执行到,导致状态判断问题。
正常的思路,make kernel_menuconfig将phy的配置改成m
-CONFIG_MT753X_GSW=y
+CONFIG_MT753X_GSW=m
这样修改后,发现内核的模块确认被编译成mt753x.ko了,但是没有人将改ko拷贝到文件系统下,这样就没办法自动载入。
2、修改方案
后面发现openwrt已经有该集成方式,位于package/kernel/linux/modules/下。
在19.07/package/kernel/linux/modules/netdevices.mk 里面,添加如下信息即可。
与添加一个内核package类似,指定ko的路径FILES,然后设置AUTOLOAD的启动顺序值。
define KernelPackage/switch-mt753x
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=MediaTek MT753x switch support
DEPENDS:=+kmod-switch-mt753x
KCONFIG:=CONFIG_MT753X_GSW
FILES:=$(LINUX_DIR)/drivers/net/phy/mtk/mt753x/mt753x.ko
AUTOLOAD:=$(call AutoLoad,43,mt753x)
endef
define KernelPackage/switch-mt753x/description
MediaTek MT753x switch support
endef
$(eval $(call KernelPackage,switch-mt753x))
添加配置选项之后,make menuconfig将switch-mt753x模块勾选,将make kernel_menuconfig里面的MT753X_GSW=n取消勾选即可。
边栏推荐
- 现在网上开户安全吗?开户需要准备什么证件?
- Detailed explanation of odoo Eval
- 三种方法模拟实现库函数strlen,加深对strlen的理解
- odoo search视图详解(一)
- Introduction to odoo cli (1)
- [paid promotion] collection of common problems, basic promotion operation FAQ 1
- 情感分析ASTE三元组提取的BIO标注
- 《A Unified Generative Framework for Aspect-Based Sentiment Analysis》论文阅读
- 如何洞晓深度学习中记忆与注意力机制?这份Deakin大学212页博士论文给您做解答
- Laravel 用户认证中 attempt方法
猜你喜欢

Unlock Web3.0 on the cloud Alibaba cloud XR platform helps Bizhen technology present an immersive concert

成员函数之析构函数

你知道研发站会的三种境界吗?如何通过站会考察团队的研发效能?

odoo owl解释

babylon. JS height map

phpstorm2022连接数据库

redis实现分布式锁

dtcloud Qweb实战之看板视图

C language development environment construction: vscode+gcc

Constraints of odoo
随机推荐
Odoo 的安全性
机器学习——支持向量机(SVM)
3. JVM garbage collector
jupyterlab 安装
AI标准化引擎在Pink客户端实践与思考
《KG-BERT: BERT for Knowledge Graph Completion》
Redis implements distributed locks
BlockingQueue阻塞队列原理以及实现
如何洞晓深度学习中记忆与注意力机制?这份Deakin大学212页博士论文给您做解答
【AGC】增长服务3-App Linking示例
老树开花——用ImageProcessor快速搭一个图床应用
高效实战|航空业海量日志数据的智能化分析
odoo的约束
032 notes on SQL knowledge points
phpstorm2022连接数据库
Machine learning - support vector machine (SVM)
解释初始化列表
input获取焦点
马毅沈向洋曹颖最新AI综述火了!耗时3月打造,网友:必读论文
[quick application] PX and VP unit conversion