当前位置: 技术问答>linux和unix
修改内核代码问题:如何编译修改的单个文件而不用重建整个内核?
来源: 互联网 发布时间:2015-06-22
本文导语: 现在需要修改内核中的某一个文件(比如说是ipc/shm.c); 如何只编译这一个文件?如果直接用gcc,会出很多的错误,大多都是"头文件"未找到和"变量未定义"之类的. 请问大家该怎么搞啊?谢谢 | 编译内...
现在需要修改内核中的某一个文件(比如说是ipc/shm.c);
如何只编译这一个文件?如果直接用gcc,会出很多的错误,大多都是"头文件"未找到和"变量未定义"之类的.
请问大家该怎么搞啊?谢谢
如何只编译这一个文件?如果直接用gcc,会出很多的错误,大多都是"头文件"未找到和"变量未定义"之类的.
请问大家该怎么搞啊?谢谢
|
编译内核从来都不是你自己用gcc来编译的,都是用make工具来编译的,有以下几步
make dep 检查依赖关系
make bzImage 编译内核
make modules 编译模块
如果你是修改了之后编译内核,那就直接用以上步骤就可以了。
如果你把其中一个文件拿出来修改想自己用,这个是很麻烦的,需要你对内核源代码的结构比较清晰才可以做啊。
make dep 检查依赖关系
make bzImage 编译内核
make modules 编译模块
如果你是修改了之后编译内核,那就直接用以上步骤就可以了。
如果你把其中一个文件拿出来修改想自己用,这个是很麻烦的,需要你对内核源代码的结构比较清晰才可以做啊。
|
你把shm.c中用到的相关文件都找出来,
然后写一个Makefile,
应该是可以搞定的
然后写一个Makefile,
应该是可以搞定的
|
看看有关Makefile的文档资料
多试几次,
每个人开始都是初学者 :)
多试几次,
每个人开始都是初学者 :)
|
你的LINUX的内核如果是2.6.x的话就简单了。
直接在内核源代码目录下运行:make + 相应的路径即可。
直接在内核源代码目录下运行:make + 相应的路径即可。
|
最终要连接进去吧!除非是module
|
内核只有一个文件,都得重新整个编译吧,就算不全部重新编译,链接也使免不了的
|
不make clean,就不用全部重新编译了,单如楼上所说要连接
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。