编译内核的时候make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig

当然也可以用config和xconfig来代替menuconfig,但是这样用可能会没有设置某些配置文件选项和没有生成下面编译所需的头文件。所以推荐使用make menuconfig,这是内核开发人员用的最多的配置方法,配置完退出并保存,检查一下内核目录中的include/linux/version.h和include/linux/autoconfig.h头文件是否生成,这是编译glibc要用到的。

以上转自:如何为嵌入式开发建立交叉编译环境:http://www.ibm.com/developerworks/cn/linux/l-embcmpl/


当然如果使用make config而没有生成version.h的时候,而程序中涉及到version.h中的一些宏的时候,你可以这样写:

#ifndef LINUX_VERSION_CODE
#define LINUX_VERSION_CODE 197376
#endif

#ifndef KERNEL_VERSION(a,b,c)
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif