am335x buildroot 编译报错解决 Incorrect selection of kernel headers: expected 3.2.x, got 4.6.x

瘦欲@ 提交于 2020-01-20 12:12:30

关于am335x buildroot配置请参照一下博客:

http://www.myir-tech.com/bbs/thread-7134-1-1.html

在buildroot顶层目录下make,出现以下报错。

Incorrect selection of kernel headers: expected 3.2.x, got 4.6.x

原因是在交叉编译器路径下有一个内核版本代码

buildroot在执行check-kernel-headers.sh时会检测这这个内核版本代码

#define LINUX_VERSION_CODE 263680

在我的编译器路径是

/opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/linux/version.h

263680 = 40600(h)

所以移位得到4.6.x的内核版本

 

解决办法是:

通过计算得知LINUX_VERSION_CODE 应该为197120

197120 = 30200(h)

移位后为3.2.x。

#define LINUX_VERSION_CODE 197120

总结:

197120 = ‭00110000001000000000(b) = 30200(h)对应3.2.x版本内核

263680 = ‭01000000011000000000‬(b) = 40600(h)对应4.6.x版本内核

199168 = ‭00110000101000000000‬(b) = 30A00(h)对应3.10.x版本内核

小伙伴们有发现什么规律吗?

 

 
————————————————
版权声明:本文为CSDN博主「青天喵喵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_23235811/article/details/79713581

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!