WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-06-14 22:42:20

firstman
会员
注册时间: 2019-04-06
累计积分: 144

Ubuntu 新建一个 hello 驱动程序

参考网上例程



hello.c 说:

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

static int hello_init(void)
{
    printk(KERN_INFO "Hello world enter!\n");
}

static void hello_exit(void)
{
    printk(KERN_INFO "Hello world exit!\n");
}

module_init(hello_init)
module_exit(hello_exit)

MODULE_AUTHOR("hexing");
MODULE_LICENSE("dual BSD/GPL");
MODULE_DESCRIPTION("SIMPLE");
MODULE_ALIAS("simple");

Makefile 说:

KVERS =$(shell uname -r)

obj-m += hello.o

build: kernel_modules

kernel_modules:
    make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules

clean:
    make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean

直接 make 即可

最近编辑记录 firstman (2019-06-14 22:42:37)

离线

#2 2019-06-14 22:45:22

firstman
会员
注册时间: 2019-04-06
累计积分: 144

Re: Ubuntu 新建一个 hello 驱动程序

firstman@ubuntu:/opt/test$ make
make -C /lib/modules/4.10.0-38-generic/build M=/opt/test modules
make[1]: Entering directory '/usr/src/linux-headers-4.10.0-38-generic'
  CC [M]  /opt/test/hello.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /opt/test/hello.mod.o
  LD [M]  /opt/test/hello.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-38-generic'

firstman@ubuntu:/opt/test$ sudo insmod hello.ko 
firstman@ubuntu:/opt/test$ 

firstman@ubuntu:/opt/test$ sudo lsmod |grep hello
hello                  16384  0

离线

页脚