Linux内核编译问题2/make uIm…

本文记录了解决Linux内核2.6.22.6版本编译过程中出现的unrecognised debug output level 'dwarf2'错误的过程。通过调整Makefile中的-gdwarf2参数设置,成功完成了uImage的编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux-2.6.22.6/ arm-linux-gcc-4.4.3

在安装了ncurses devel套件后,可以成功执行 make mecuconfig,于是接下来就是make uImage,
此步出现错误如下:

cc1: error: unrecognised debug output level "dwarf2"
make[1]: *** [usr/initramfs_data.o] 错误 1
make: *** [usr] 错误 2

解决办法:
在网上查了相关资料,原因是 gcc 版本不支持 -gdwarf2参数,打开Makefile文件查看,里面果然有这几个参数如下:
Linux内核编译问题2/make <wbr>uImage <wbr>出错
因为暂时不清楚哪些版本支持这个参数,所以我直接删掉了这个参数,
注释掉上图中带黄色标记的一行(或者仅注释掉“-g”后面的“ dwarf2"),改为如下代码:
ifdef CONFIG_DEBUG_INFO
CFLAGS += -g
#AFLAGS += -gdwarf2
endif
Linux内核编译问题2/make <wbr>uImage <wbr>出错

此时则可以成功编译uImage,

Linux内核编译问题2/make <wbr>uImage <wbr>出错

Linux内核编译问题2/make <wbr>uImage <wbr>出错

注:暂时不确定去掉参数”-gdwarf2“会不会对后面的使用有什么影响,此方法只是可供参考!

至此,kernel编译完成!

wind
2015,02,14





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值