【Linux设备驱动】--0x00简单的模块

简介: 【Linux设备驱动】--0x00简单的内核模块模块源文件insmod和rmmod打印进入与退出消息#include <linux/kernel.h>#include <linux/module.

【Linux设备驱动】--0x00简单的内核模块

模块源文件

insmod和rmmod打印进入与退出消息

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

static int __init hello_init(void)
{
    printk(KERN_INFO "Hello world\n");

    return 0;
}

static void __exit hello_exit(void)
{
    printk(KERN_INFO "Goodbye world\n");
}

MODULE_LICENSE("GPL");
module_init(hello_init);
module_exit(hello_exit);

makefile文件

obj-m     := hello.o
PWD       := $(shell pwd)
KERNELDIR ?= /lib/modules/$(shell uname -r)/build

build: 
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

install:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

clean:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
目录
相关文章
|
3月前
|
NoSQL Unix Linux
Linux 设备驱动程序(一)(上)
Linux 设备驱动程序(一)
162 62
|
2月前
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
76 1
|
2月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
3月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
43 6
|
3月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
49 5
|
3月前
|
存储 缓存 Unix
Linux 设备驱动程序(三)(上)
Linux 设备驱动程序(三)
38 3
|
3月前
|
缓存 安全 Linux
Linux 设备驱动程序(一)((下)
Linux 设备驱动程序(一)
30 3
|
3月前
|
安全 数据管理 Linux
Linux 设备驱动程序(一)(中)
Linux 设备驱动程序(一)
27 2
|
3月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
197 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
3月前
|
Linux
Linux 设备驱动程序(四)
Linux 设备驱动程序(四)
21 1