编译驱动模块时遇见的问题记录

1、写驱动程序,编译驱动模块时,出现

“make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'

/usr/src/linux-headers-2.6.32-5-common/arch/x86/Makefile:81: stack protector enabled but no compiler support” - stack protector启用,但编译器不支持


解决方法: (除去栈保护支持)

①. 修改 /usr/src/linux-header-xxx/目录下的文件.config,找到CONFIG_CC_STACKPROTECTOR,注释掉

②. 同样的办法修改/usr/src/linux-header-xxx/include/config/auto.conf


2、写驱动程序,编译驱动模块时,出现: error: unrecognized command line option "-m64"。。。

缺少编译的对象,需要加入ARCH=arm

[root@localhost 123]# make ARCH=arm

3、arm-linux-gcc:command not found

    环境变量问题(注意sudo 执行时是超级用户,查看环境变量)

4、加载.ko模块出现invalid module format

可能原因->内核版本不同



猜你喜欢

转载自blog.csdn.net/weixin_42164528/article/details/80406223