当前位置: 技术问答>linux和unix
加载helloworld模块失败请高手帮忙!
来源: 互联网 发布时间:2016-04-25
本文导语: 我的hello.c为: #include //__init,__exit相关。 #include //同kernel.h,与printk相关。 MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, worldn"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodby...
我的hello.c为:
#include //__init,__exit相关。
#include //同kernel.h,与printk相关。
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, worldn");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel worldn");
}
module_init(hello_init);
module_exit(hello_exit);
makefile为:
ifneq ($(KERNELRELEASE),)
obj-m := hello.o #modueles目标指向obj-m变量中设定的模块。
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
我用的是linux2.6.24-19-generic
我运行后屏幕显示如下:
qafan@qafan:~/study_linux/Linux_driver$ make
make -C /lib/modules/2.6.24-19-generic/build M=/home/qafan/study_linux/Linux_driver modules
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.24-19-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]:正在离开目录 `/usr/src/linux-headers-2.6.24-19-generic'
qafan@qafan:~/study_linux/Linux_driver$ sudo insmod ./hello.ko
[sudo] password for qafan:
insmod: error inserting './hello.ko': -1 File exists
qafan@qafan:~/study_linux/Linux_driver$
请问是怎么回事?
#include //__init,__exit相关。
#include //同kernel.h,与printk相关。
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, worldn");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel worldn");
}
module_init(hello_init);
module_exit(hello_exit);
makefile为:
ifneq ($(KERNELRELEASE),)
obj-m := hello.o #modueles目标指向obj-m变量中设定的模块。
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
我用的是linux2.6.24-19-generic
我运行后屏幕显示如下:
qafan@qafan:~/study_linux/Linux_driver$ make
make -C /lib/modules/2.6.24-19-generic/build M=/home/qafan/study_linux/Linux_driver modules
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.24-19-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]:正在离开目录 `/usr/src/linux-headers-2.6.24-19-generic'
qafan@qafan:~/study_linux/Linux_driver$ sudo insmod ./hello.ko
[sudo] password for qafan:
insmod: error inserting './hello.ko': -1 File exists
qafan@qafan:~/study_linux/Linux_driver$
请问是怎么回事?
|
insmod: error inserting './hello.ko': -1 File exists
表明你已经加了一个叫hello.ko的模块(我试过了)
先使用如下命令删除:
sudo rmmod hello.ko
表明你已经加了一个叫hello.ko的模块(我试过了)
先使用如下命令删除:
sudo rmmod hello.ko
|
sudo rmmod hello.ko
|
正解