用交叉编译器(已经更改为arm-linux-gcc) 编译内核;但是提示gcc没有找到?

我用的arm-linux-gcc 3.4.3,想编译2.6.14的kernel;(http://ubi.cs.washington.edu/wiki/index.php/Compiling_the_iMote2_kernel)按照上面的提示一步步安装的;补丁包按提示都已经打好了,没有错误,而且交叉编译器也能编译像helloworld的小程序;但是要编译内核的时候;用
make ARCH=arm CROSS_COMPILE=arm-linux- oldconfig 却总是提示 gcc:not command;这是为什么?网上有说更改Makefile文件;在ARCH?=arm;CROSS_COMPILE?=arm-linux- 就可以用交叉编译器编译;但是还是提示上面的错误?还是说更改的时候,哪儿有什么空格没有空好?希望大虾,能够给我指示一下;
以前不知道 编译内核还要gcc编译器;现在安装了能够继续运行;
但是弹出很多配置选项;想问问这个过程是必须的?还是我的.config文件没有弄对?

提示 gcc:not command;就表示是gcc命令没找到,这个和你的arm-linux-gcc没关系,因为如果arm-linux-gcc找不到的话,会提示arm-linux-gcc找不到的,所以你就只能猜是不是host边的gcc没找到,然后在你的主机端安装gcc开发包就可以了。

嵌入式一种重要的能力就是debug,自己锻炼下吧,以后这种简单的问题就能搞定了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-27
编译 Linux 内核同时需要本地计算机用的 GCC 和目标计算机的 cross-gcc 。
本地 gcc 用来编译控制程序来处理 .config (这里的 gcc 成为 HOSTCC),.config 处理完毕后,make 脚本才会调用 cross-gcc 去正式编译目标架构的内核数据。

请先安装好全套的本地编译环境再去安装交叉编译环境。
---------------------
内核当然要先配置才能编译了。
.config 一般拷贝过来先 make oldconfig 一下。每个版本都有自己的配置,升级一个版本(一般 2.6.34.X 这个 X 版本变动除外)都会增加或者减少或者调整配置内容。这种提示是纯文字的,会提示你输入选择。
make oldconfig 会根据旧版本的 .config 来设置新的。变动地方会问你。
之后 make menuconfig 或者 make xconfig 来进入字符或者图形(需要 qt3 开发支持)的设置界面进行进一步设置。这里的字符界面是类图形界面的,设置方便一些。

之后才能 make 开始编译。
直接拿来一个 .config ,除非完全版本对应,不然肯定会有遗漏的设置内容。
第2个回答  2010-07-23
你还没装gcc呢,试试g++,如果没装的话,需要现下载一个GNU C++的rpm安装文件才能装。

另外,相关的开发库lib也必须配齐,估计你的麻烦才刚刚开始,哈哈哈哈

我第一次用交叉编译器的时候,是在lib上出的问题,因为ARM要求的一些库和当前LINUX已安装库文件版本不一致。花了很长时间修订版本才可以的。
第3个回答  2010-07-23
必须安装lib库,安装编译环境gcc,很简单的东西,自己试试就出来了,自己都知道问题了,还来问别人,那你什么时候才能会自己做事情。要学会自己解决问题。你肯定行!
第4个回答  2010-07-23
CROSS_COMPILE?=arm-linux-gcc
相似回答