配置完成后,使用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。
可以下载使用,但是好多连接广告!!
下载后,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里就可以了。