源码如下:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
自己写虚拟机的可以过。
obj-m := hello.o
KERNELDIR := /lib/modules/2.6.18/build
#KERNELDIR := /usr/src/linux-headers-2.6.24-21-generic/
#KERNELDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
想放到arm板子上,s3c2440,尝试加上cc=*************也不行,还有网上的一些版本也不行,求助
------解决方案--------------------
你是什么错好像也没有贴出来,
不过你可以把模块加载到内核里,这样就不用自己这么麻烦去写makefile了
加入内核里只是修改相应的makefile文件和kconfig
------解决方案--------------------
obj-m += input.o
KERNEL = /nfs_rootfs/threeway/linux-2.6.30.4
all:
make -C $(KERNEL) M=`pwd` modules
clean:
make -C $(KERNEL) M=`pwd` modules clean
install:
make -C $(KERNEL) M=`pwd` modules_install INSTALL_MOD_PATH=/nfs_rootfs/threeway/
-------------------------------------------------
硅谷芯微技术学院 www.threeway.cc 芯片级IT教育第一品牌
电子类技术培训机构,培训单片机、ARM、嵌入式LINUX等
------解决方案--------------------
obj-m += input.o
KERNEL = /nfs_rootfs/threeway/linux-2.6.30.4
all:
make -C $(KERNEL) M=`pwd` modules
clean:
make -C $(KERNEL) M=`pwd` modules clean
install:
make -C $(KERNEL) M=`pwd` modules_install INSTALL_MOD_PATH=/nfs_rootfs/threeway/
-------------------------------------------------
硅谷芯微技术学院 www.threeway.cc 芯片级IT教育第一品牌
电子类技术培训机构,培训单片机、ARM、嵌入式LINUX等
------解决方案--------------------
obj-m += input.o
KERNEL = /nfs_rootfs/threeway/linux-2.6.30.4
all:
make -C $(KERNEL) M=`pwd` modules
clean:
make -C $(KERNEL) M=`pwd` modules clean
install:
make -C $(KERNEL) M=`pwd` modules_install INSTALL_MOD_PATH=/nfs_rootfs/threeway/
-------------------------------------------------
硅谷芯微技术学院 www.threeway.cc 芯片级IT教育第一品牌
电子类技术培训机构,培训单片机、ARM、嵌入式LINUX等
------解决方案--------------------
你编译的模块用的应该是你的板子上的内核源码,而不是你自己PC机上的内核,你应该在Makefile指定板子上内核源码的路径。LZ这样的回答中不?