小编Ste*_*vie的帖子

Linux 内核模块开发“模块:x86/modules:跳过无效的重定位目标,类型 1 的现有值非零”

我目前正在尝试开发一个简单的Linux内核模块。它应该只记录一些东西,它是从互联网上一比一复制的。

我有以下文件:lkm_example.c

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

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Robert W. Oliver II");
MODULE_DESCRIPTION("A simple example Linux module.");
MODULE_VERSION("0.01");

static int __init lkm_example_init(void) {
 printk(KERN_INFO "Hello, World!\n");
 return 0;
}

static void __exit lkm_example_exit(void) {
 printk(KERN_INFO "Goodbye, World!\n");
}

module_init(lkm_example_init);
module_exit(lkm_example_exit);
Run Code Online (Sandbox Code Playgroud)

生成文件:

obj-m += lkm_example.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules

clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) clean
Run Code Online (Sandbox Code Playgroud)

我还做了以下工作:

sudo apt-get install build-essential linux-headers-`uname -r`
Run Code Online (Sandbox Code Playgroud)

对于编译我使用:

stbau@kernel-dev-vm:~/src/lkm_example$ sudo make
make -C /lib/modules/5.13.0-39-generic/build M=/home/stbau/src/lkm_example modules
make[1]: …
Run Code Online (Sandbox Code Playgroud)

c linux kernel kernel-module linux-kernel

4
推荐指数
1
解决办法
8421
查看次数

标签 统计

c ×1

kernel ×1

kernel-module ×1

linux ×1

linux-kernel ×1