将模块编译入内核

简介: 将模块编译入内核
  1. 准备好要编译到内核的模块源码
#include <linux/init.h>
#include <linux/module.h>
static int __init hello_init(void)
{
  printk("hello world!\n");
  return 0;
}
static void __exit hello_exit(void)
{
  printk("<7>hello <0>exit\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");

这是一个简单的模块hello.c。

  1. 拷贝文件 如果要将刚才的驱动程序直接编译到内核,那么我们必须把hello.c拷贝到内核的某个目录下。

字符设备可以考虑放到以下目录:

2. 修改Makefile

sudo vim Makefile

3. 修改Kconfig

sudo vim Kconfig

6. 重新配置 执行

make menuconfig

输入 / 可以根据关键字查找模块所在位置。

根据路径找到我们刚才的模块配置路径:

按下空格键设置为*,也就是让对应模块编译到内核中,然后保存退出。

5. 重新编译内核

make -j16
  1. 将重新编译后的内核载到开发板中

    模块成功加载到内核中


目录
相关文章
|
存储 安全 Linux
linux系统中u-boot命令的EMMC和SD卡操作命令分析
linux系统中u-boot命令的EMMC和SD卡操作命令分析
1364 1
|
8月前
|
人工智能 搜索推荐 安全
听悟 + 魔笔,定制你的企业智能会议系统
本文介绍了基于阿里云魔笔平台的企业智能会议系统搭建方案。通过整合通义听悟的强大AI能力,该系统可实现音频视频处理、自动记录、实时翻译等功能,满足个性化定制、数据安全与高效集成的需求。
|
存储 关系型数据库 数据库
关系型数据库主键的唯一性
【5月更文挑战第15天】
352 1
|
Java 数据库连接 数据库
Springboot整合mybatisPlus开发
MyBatis-Plus是一个MyBatis的增强工具,旨在简化开发和提高效率。它在不修改原有MyBatis的基础上提供额外功能。要将MyBatis-Plus集成到SpringBoot项目中,首先通过Maven添加mybatis-plus-boot-starter和相应数据库驱动依赖,然后配置application.yml中的数据库连接信息,并指定Mapper类的扫描路径。Mapper接口可继承BaseMapper实现基本的CRUD操作。
366 0
|
存储 算法 调度
FreeRTOS多任务系统
FreeRTOS多任务系统
485 0
The authenticity of host ‘gitee.com (180.76.198.77)‘ can‘t be established.ED25519 key fingerprint i
The authenticity of host ‘gitee.com (180.76.198.77)‘ can‘t be established.ED25519 key fingerprint i
|
存储 监控 网络协议
深入理解非阻塞 TCP 连接:getsockopt 的关键作用
深入理解非阻塞 TCP 连接:getsockopt 的关键作用
1364 0
|
编解码 Shell Linux
uboot移植到IMX6ULL平台详细过程(下)
uboot移植到IMX6ULL平台详细过程(下)
782 0
|
存储 编解码 Ubuntu
uboot移植到IMX6ULL平台详细过程(上)
uboot移植到IMX6ULL平台详细过程(上)
826 0