苦恼了一个小时,终于在ubuntu 上面可以进行简单的驱动编写了。。。。
现在和大家分享一下,尤其对于新手,我觉得这个入门帮助很大。。。。
不扯了,begin.....
为了方便,直接root权限
①
#apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patches
# apt-get install linux-source-2.6.32
②
#tar -xvf linux-source-2.6.32.tar.bz2
#cd linux-source-2.6.32
#cp /boot/configXXXX ./.config
#make -j4
then CTRL + C 中断
不一定非要编译完。。。
③
#cd /test/
#make
WARNING: Symbol version dump /usr/src/linux-source-2.6.32/Module.symvers
is missing; modules will have no dependencies and modversions.
# cp /usr/src/linux-headers-2.6.32-28-generic/Module.symvers ./
#make
④insmod hello.ko && rmmod hello.ko
[ 2246.313107] lei is testing
[ 2257.069091] lei is exit..
⑤总结
1.hello: no symbol version for module_layout
缺少Module.symvers文件,没有正常编译成功,或者去copy一个
2. hello: disagrees about version of symbol module_layout
没有办法,应该是版本差的太多
3.接下来是version和magic不匹配的问题(modinfo hello.ko)
#uname -r
2.6.32-28-generic
这个没有遇到,不过最好改变Makefile EXTRAVERSION= -28-generic
modversions(在内核配置选项[*] Enable loadable module support ---> [*] Module versioning support )
以上ok!