编译内核模块 .ko文件缺少:mmzone.h bounds.h
2015-02-28 11:55
323 查看
出现的问题:编译的时候提示缺少头文件 mmzone.h ....bounds.h...等
include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory
include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined
原因:bounds.h是在编译内核时生成的,类似于编译产生的.o文件,如果你运行
"make clean" or "make distclean",这个文件就会被清除掉(详情查看内核Makefile)。因此,如果再利用此内核源码编译内核模块,如果有涉及bounds.h,就会出现找不到该文件的错误。
解决:独立内核目录之外编译模块时,要确保makefile文件中所定义的内核源代码树已经make过一遍,且没有make clean。这样就不会清除生成的bound.h头文件,这个文件是生成模块必须的。
或者"make prepare"
这样就会重新生成bounds.h,搞定了!
再看看其内容:
#ifndef __LINUX_BOUNDS_H__
#define __LINUX_BOUNDS_H__
/*
* DO NOT MODIFY.
*
* This file was generated by Kbuild
*
*/
#define NR_PAGEFLAGS 19 /* __NR_PAGEFLAGS @ */
#define MAX_NR_ZONES 3 /* __MAX_NR_ZONES @ */
#endif
include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory
include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined
原因:bounds.h是在编译内核时生成的,类似于编译产生的.o文件,如果你运行
"make clean" or "make distclean",这个文件就会被清除掉(详情查看内核Makefile)。因此,如果再利用此内核源码编译内核模块,如果有涉及bounds.h,就会出现找不到该文件的错误。
解决:独立内核目录之外编译模块时,要确保makefile文件中所定义的内核源代码树已经make过一遍,且没有make clean。这样就不会清除生成的bound.h头文件,这个文件是生成模块必须的。
或者"make prepare"
这样就会重新生成bounds.h,搞定了!
再看看其内容:
#ifndef __LINUX_BOUNDS_H__
#define __LINUX_BOUNDS_H__
/*
* DO NOT MODIFY.
*
* This file was generated by Kbuild
*
*/
#define NR_PAGEFLAGS 19 /* __NR_PAGEFLAGS @ */
#define MAX_NR_ZONES 3 /* __MAX_NR_ZONES @ */
#endif
相关文章推荐
- 编译内核模块 .ko文件的注意事项 缺少:mmzone.h bounds.h
- 编译内核模块 .ko文件的注意事项 缺少:mmzone.h bounds.h
- 编译内核模块 .ko文件的注意事项 缺少:mmzone.h bounds.h
- 编译的时候提示缺少头文件 mmzone.h ....bounds.h
- ubuntu11.10下为android模拟器编译内核到为android开发内核模块(.ko文件)全过程纪实
- 编译e1000 缺少:mmzone.h bounds.h
- 模块编译KO文件Makefile 2.6内核通用
- ubuntu11.10下为android模拟器编译内核到为android开发内核模块(.ko文件)全过程纪实
- 内核模块编译错误,缺少源码
- 编译内核模块找不到内核头文件解决办法
- linux编译ko文件(不同内核源码版本)
- 通过make编译多文件的内核模块
- Andriod编译内核模块*.ko
- 编译内核模块找不到内核头文件解决办法
- 如何编译内核中某一个ko模块(1)
- android源码环境下用mmm/mm编译模块,输出编译log到文件的方法
- Android Goldfish内核编译 + eCryptfs文件加解密系统的内核模块配置
- debian内核编译make menuconfig提示缺少库文件
- Andriod编译内核模块*.ko
- Linux 驱动程序/内核模块/ko文件