如何将驱动添加进内核?

 时间:2026-02-15 23:27:57

1、    在介绍2种方法前,必须知道的知识点:

1.关联文件Makefile:

Makefile:分布在Linux内核源代码中的Makefile用于定义Linux内核的编译规则;

2.管理文件Kconfig:

给用户提供配置选择的功能;

配置工具:

1)包括配置命令解析器;

2)配置用户界面;menuconfig || xconfig;

3)通过脚本语言编写的;

3.

---tristate 代表三种状态:1.[ ]不选择,2.[*]选择直接编译进内核,加载驱动到内核里,3.[m]动态加载驱动;

---bool 代表两种状态,1.[ ]不选择,2.[*]选择;

2、---"Mini2440 module sample"这个是在make menuconfig时刷出的提示字符;

---depends on MACH_MINI2440 这个配置选项出现在make menuconfig菜单栏下,在内核配置中必须选中、MACH_MINI2440;

---default m if MACH_MINI2440 这个如果选中了MACH_MINI2440,默认是手

动加载这个驱动;

help:提示帮助信息;

3、    在了解了基本的知识点,便开始进行第一种添加驱动的方法,本次交流是以beep_arv.c蜂鸣驱动程序为基础的

方法一:

1)进入内核的驱动目录;

#cp beep_arv.c /XXX/.../linux-XXXl/drivers/char

2)进入Kconfig添加驱动信息;

#cd /XXX/linux-XXX/.../drivers/char

#vim Kconfig

添加基本信息:

config BEEP_MINI2440

    tristate "---HAH--- BEEP"

    default

    help

       this is test makefile!

如何将驱动添加进内核?

4、3)进入Makefile添加驱动编译信息;

#vim Makefile

添加基本信息:

obj-$(CONFIG-BEEP_MINI2440) +=beep_drv.o

如何将驱动添加进内核?

5、方法一结果:

在--Character devices下就能看到配置信息了;

如何将驱动添加进内核?

6、方法二:

1)进入驱动目录,创建BEED目录;

#cd /XXX/.../linux-XXX/drivers/char

#mkdir beep

2)将beep_arv.c驱动程序复制到新建目录下;

#cp beep_arv.c /XXX/.../linux-XXXl/drivers/char/beep

3)创建Makefile和Kconfig文件

#cd char/beep

#touch Makefile Kconfig

#chmod 755 Makefile 

#chmod 755 Kconfig

如何将驱动添加进内核?

7、4)进入Kconfig添加驱动信息;

#vim Kconfig

添加基本信息:

config BEEP_MINI2440

    tristate "---HAH--- BEEP"

    default

    help

       this is test makefile!

如何将驱动添加进内核?

8、5)进入Makefile添加驱动编译信息;

#vim Makefile

添加基本信息:

obj-$(CONFIG_BEEP_MINI2440) +=beep_drv.o

如何将驱动添加进内核?

9、6)并且要到上一级目录的Makefile和Kconfig添加驱动信息;

#cd ../

#vim Makefile

#vim Kconfig

如何将驱动添加进内核?

如何将驱动添加进内核?

  • 360安全卫士如何强力修复浏览器首页
  • FC版最终幻想3装备怎么卡
  • 如何在钉钉当中创建智能编辑文档?
  • 梦幻新诛仙击败魔宗精英任务怎么做
  • CCNA考试题型介绍
  • 热门搜索
    淘宝如何修改评价 漂流瓶怎么写 怎么打空白名字 磁盘保护怎么解除 昂是什么意思 如何收纳 如何看电脑是什么系统 生活残骸 如何不长青春痘 魔兽世界怎么充值