linux中的編譯驅(qū)動(dòng)到內(nèi)核方式
編譯驅(qū)動(dòng)到內(nèi)核
1 創(chuàng)建/kernel/drivers/helloworld文件夾
新建/kernel/drivers/hello文件夾 新建/kernel/drivers/hello/hello.c文件 新建/kernel/drivers/hello/Makefile文件 新建/kernel/drivers/hello/Kconfig文件
2 編寫驅(qū)動(dòng)程序文件
(/kernel/drivers/hello/hello.c)
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello World enter\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Hello World exit\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_DESCRIPTION("A Sample Hello World Module");
MODULE_ALIAS("A Sample module");
3 編寫Makefile文件
(/kernel/drivers/hello/Makefile)
obj-$(CONFIG_HELLO) += hello.o
4 編寫Kconfig文件
(/kernel/drivers/hello/Kconfig)
menu "ADD_SUB" config HELLO tristate "helloworld module test" endmenu
5 修改父目錄Makefile文件
(/kernel/drivers/Makefile)
obj-$(CONFIG_HELLO) += hello/
6 修改父目錄Kconfig文件
(/kernel/drivers/Kconfig)
source "drivers/hello/Kconfig"
注意:先執(zhí)行make xxx_defconfig再執(zhí)行make menuconfig
編譯驅(qū)動(dòng)到內(nèi)核有兩種方式
1 在make xxx_defconfig內(nèi)添加
CONFIG_HELLO = y
2 在make menuconfig內(nèi)使能
找到kconfig編寫的helloworld module test選項(xiàng)
- y表示編譯文件到內(nèi)核
- m表示編譯文件為模塊,會在/kernel/drivers/hello目錄下生成hello.ko文件。
- n表示不編譯文件到內(nèi)核
配置完成以后Save保存到.config文件中,最后Exit退出。
?總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux cat more less顯示文件的區(qū)別
liunx下幾個(gè)常見的用于顯示文件命令的區(qū)別2008-06-06
解決Linux systemd服務(wù)啟動(dòng)失敗Main process exited,code
文章分析了使用nohup啟動(dòng)服務(wù)在systemd中遇到的問題,并提供了解決方案,建議使用systemd管理服務(wù),創(chuàng)建.service文件,避免使用nohup,同時(shí)檢查日志、權(quán)限和環(huán)境變量,確保服務(wù)正常啟動(dòng)2026-04-04
安裝CentOS 6.x報(bào)錯(cuò)"Disk sda contains BIOS RAID metadata"解決方法
今天在安裝CentOS6.2的時(shí)候,當(dāng)進(jìn)到檢測硬盤的時(shí)候,總是過不去,報(bào)錯(cuò)如下: Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda,真是不知如何解決,下面小編把我的思路分享到腳本之家平臺,需要的朋友參考下2019-11-11
smarty實(shí)現(xiàn)PHP靜態(tài)化的兩種方法分享
用smarty實(shí)現(xiàn)純靜態(tài)化的文件發(fā)布有兩種方法,也就是純HTML文件生成的方法,包括以下兩種方法,需要的朋友可以參考下2012-02-02
Linux使用NetworkManager隨機(jī)生成你的MAC地址
今天小編就為大家分享一篇關(guān)于使用NetworkManager隨機(jī)生成你的MAC地址的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-09-09

