ubuntu 内核模块打印测试

Copy Highlighter-hljs code-theme-dark
[jn@jn module]$ history|grep install
2011 sudo apt-get install linux-headers-$(uname -r)
2016 sudo apt install gcc-12
2017 sudo apt install g++-12
2077 history|grep install
[jn@jn module]$ cat print.c
#include <linux/init.h>
#include <linux/module.h>
// Initialization function
static int __init print_init(void)
{
pr_info("my print module: Kernel module initialized\n");
printk("output from print module\n");
return 0;
}
// Cleanup function
static void __exit print_exit(void)
{
pr_info("my print module: Kernel module exited\n");
}
// Register initialization and cleanup functions
module_init(print_init);
module_exit(print_exit);
// Module information
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Linux kernel module example");
[jn@jn module]$ cat Makefile
obj-m += print.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
[jn@jn module]$ make
make -C /lib/modules/6.8.0-48-generic/build M=/home/jn/module modules
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-48-generic'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-48-generic'
[jn@jn module]$ sudo insmod print.ko
[jn@jn module]$ dmesg -T|tail -n 1
dmesg: read kernel buffer failed: Operation not permitted
[jn@jn module]$ sudo dmesg -T|tail -n 1
[Rab Jan 8 00:12:58 2025] my print module: Kernel module initialized
[jn@jn module]$ date
Rabu 08 Jan 2025 12:13:19 +08
[jn@jn module]$ sudo rmmod print.ko
[jn@jn module]$ sudo dmesg -T|tail -n 1
[Rab Jan 8 00:13:29 2025] my print module: Kernel module exited
[jn@jn module]$
posted @   dujingning  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示