一个内核模块的helloworld
编程技术  /  houtizong 发布于 3年前   133
#include <linux/kernel.h>#include <linux/module.h>static int __init helloworld_init(void){ printk("<0>""helloworld!\n"); return 0;}static void __exit helloworld_exit(void){ printk("<0>""byebye!\n");}module_init(helloworld_init);module_exit(helloworld_exit);MODULE_LICENSE("GPL");MODULE_AUTHOR("haoning");
ifneq ($(KERNELRELEASE),)obj-m := helloworld.oelsePWD := $(shell pwd)KVER ?= $(shell uname -r)KDIR := /lib/modules/$(KVER)/buildall: $(MAKE) -C $(KDIR) M=$(PWD) modulesclean: rm -rf *.cmd *.o *.mod.c *.ko *.mod.o *.ko.unsigned modules.order Module.symversendif
[root@mytest kernel]# makemake -C /lib/modules/2.6.32-431.11.2.el6.x86_64/build M=/data/haoning/kernel modulesmake[1]: Entering directory `/usr/src/kernels/2.6.32-431.11.2.el6.x86_64' CC [M] /data/haoning/kernel/helloworld.o Building modules, stage 2. MODPOST 1 modules CC /data/haoning/kernel/helloworld.mod.o LD [M] /data/haoning/kernel/helloworld.ko.unsigned NO SIGN [M] /data/haoning/kernel/helloworld.komake[1]: Leaving directory `/usr/src/kernels/2.6.32-431.11.2.el6.x86_64'[root@mytest kernel]#
[root@mytest kernel]# lshelloworld.c helloworld.ko helloworld.ko.unsigned helloworld.mod.c helloworld.mod.o helloworld.o Makefile modules.order Module.symvers[root@mytest kernel]# [root@mytest kernel]# insmod helloworld.ko[root@mytest kernel]# Message from syslogd@mytest at Jun 4 19:30:47 ... kernel:helloworld![root@mytest kernel]# rmmod helloworld.koMessage from syslogd@mytest at Jun 4 19:31:02 ... kernel:byebye![root@mytest kernel]#
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接