配置完成后,使用make uImage编译内核。
出现错误及解决:
a、提示 libstdc++.so.6 GLIBCXX_3.4.9' not found。
b、提示mkimage工具找不到。
内核生成目录:
/arch/arm/boot/uImage
编译错误及解决:
1、提示 libstdc++.so.6 GLIBCXX_3.4.9' not found。
原因:查看usr/lib目录的库文件,的确使用的是 libstdc++.so.6.0.8。查看这个库的确没有包含GLIBCXX3.4.9。
[root@localhost linux-2.6.38]# strings /usr/lib/libstdc++.so.6.0.8 |grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.3
GLIBC_2.0
GLIBC_2.3.2
GLIBC_2.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.2
GLIBCXX_FORCE_NEW
解决:下载安装libstdc++.so.6.0.10。
我下载的地址:http://xz.qjwm.com/down.aspx?down=ok&filepath=jyb168%2f%d1%a7%cf%b0%ce%c4%bc%fe%c4%bf%c2%bc%2fMP4%ca%d3%c6%b5%b2%a5%b7%c5%c6%f7%d2%c6%d6%b2%d4%b4%ce%c4%bc%fe%2flibstdc%2b%2b.so.6.0.10
可以下载使用,但是好多连接广告!!
下载后,cp到urs/lib目录
删除原文件rm libstdc++.so.6
建立新的链接:ln -s libstdc++.so.6.0.10 libstdc++.so.6
2、提示mkimage工具找不到。
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] 错误 1
make: *** [uImage] 错误 2
u-boot tools目录有个mkimage.c编译后会生成一个mkimage工具,随便编译一个单板后,将mkimage拷贝到centos的一个目录,并且添加到环境变量PATH里就可以了。