消息关闭
    暂无新消息!
本人用的linux3.3.x 版本,虚拟机是ubuntu10.4,交叉编译环境一开始用的是gnu glibc交叉编译工具gcc-4.4.4,
编译出来的ubi文件系统精简后也要7M左右,
但还是不太能满足系统要求,因为我们的flash比较小,

然后我使用buildroot做了一个基于uclibc-ng的交叉编译工具,在编译的时候,将原先的make uImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
改为make uImage ARCH=arm CROSS_COMPILE=arm-none-uClibcgnueabi-    编译一开始不成功,在编译kernel/bound.s时报错,提示没有找到compile_gcc5.h。

然后我在buildroot的一个文件夹下面找到了compile_gcc.h,放到include /linux目录下边。   之后 编译结束,生成内核映象文件。

烧到FLASH以后,结果内核无法启动,打印显示:
Uncompressing Linux.done,booting the kernel  就没有下文了,停止了

问题是用glibc交叉编译工具Make uImage,生成的映象文件烧到FLASH后能够正常启动内核  

现在不知道什么原因了,                                 

目前想到的:1. u-boot我还没有用uclibc这个交叉编译环境编译过,    而内核已经是新的交叉编译环境make,并烧进去了
                       也就是说FLASH上的uboot还是用gcc-4.4.4编译的版本,而FLASH上的内核是uclibc编译的版本,  会不会两个不同的
                        交叉编译环境  不匹配??

                   2. 交叉编译环境本身有问题


不知道哪位大侠有做过基于buildroot生成的uclibc的交叉编译环境  编译过内核的??

0个回答

暂无回答!