生成交叉编译器的问题
时间:2006-01-25
来源:互联网
各位大侠,小弟我是初次接触linux和uclinux,经过几天的查看资料后小弟决定动手做点事情,当然第一件事情就是建立linux环境和建立某一CPU(任何一CPU都可以)的交叉编译环境,主要是熟悉建立交叉编译工具的过程,但在建立交叉编译过程中小弟碰到了一些问题,也从网上找了一些解决办法,但各种办法几乎千变一律,没有什么参考价值,只好向各位大侠请教,下面我先说说我建立交叉编译器的过程:
1、 从网站上下载最新版的cygwin,然后将其安装到d:\cygwin中;
2、 修改cygwin的环境,这里我做了如下的修改:
1) 在d:\cygwin\cygwin.bat中加入set CYGWIN=title ntea
2) 在d:\cygwin\usr\X11R6\bin\startwin.bat中加入set CYGWIN=ntea
3) 启动xterm后输入以下命令来修改sh.exe
cd /bin
mv sh.exe sh-original.exe
ln ?s bash.exe sh.exe
在此小弟有一个问题向各位大侠请教,cygwin.bat和startwin.bat都可以启动cygwin环境,只不过一个是类似于DOS界面,而另一个是类似于windows界面,但两者的CYGWIN的值却不同,一个是title ntea,另一个是ntea,不知道是为什么?
3、 我从[url="http://www.uclinux.org/"]www.uclinux.org[/url]网上download下如下的文件:
1) uClinux源码:uClinux-dist-20051110.tar.gz
2) arm+uClinux工具链的源码:binutils-2.10.tar.bz2,binutils-2.10-full.patch,build-uclinux-tools.sh,elf2flt-20030314.tar.gz,elf2flt-cygwin-020612.patch,gcc-2.95.3.tar.gz,gcc-2.95.3-arm-mlib.patch,gcc-2.95.3-arm-pic.patch,gcc-2.95.3-arm-pic.patch2,gcc-2.95.3-cygwin-020611.patch,gcc-2.95.3-full.patch,gcc-2.95.3-m68k-zext.patch,gcc-2.95.3-sigset.patch,genromfs-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com
ffice:smarttags" /><st1:chsdate w:st="on" IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899">0.5.1</st1:chsdate>.tar.gz,genromfs-0.5.1-cygwin-020605.patch,STLport-4.5.3.patch,STLport-4.5.3.tar.gz,uClibc-0.9.19.patch.gz,uClibc-20030314.tar.gz
4、 在/usr/local/src中执行如下如下命令:
tar xzvf uClinux-dist-20051110.tar.gz
cd uClinux-dist
make xconfig
我只修改了几个选项:vendor/product选择GDB,kernel version选择linux-2.4.x,libc version选择uClibc,default all settings选择y,其余的保持不变
make dep
5、 将arm+uClinux工具链的源码拷贝到/usr/local/armtools,将/usr/local/src/uClinux-dist/linux-2.4.x拷贝到/usr/local/armtools中
6、 在/usr/local/armtools下执行./build-uclinux-tools.sh build(它有build,continue,tar,clean四个选项,我不知道应该选build还是tar,但选tar选项总是出现错误,因此我选择了build选项,不知道对还是不对?)在这期间还陆续出现了几个问题,如找不到uClibc目录,我将uClibc-20030314.tar.gz用命令tar解压开,继续编译(./build-uclinux-tools.sh continue),但当编译到STAGE3时确告诉我在/bin/sh下找不到arm-elf-gcc命令,我在windows在搜索了整个d:\cygwin目录都没有找到(不好意思,不知道在cygwin中如何实现该功能?),后来一想我正在生成交叉编译器,arm-elf-gcc就是其中之一,怎么可能有呢?到此小弟就束手无策了,请各位大侠帮帮我,如何解决这个问题。
:confused: :confused: :confused:
1、 从网站上下载最新版的cygwin,然后将其安装到d:\cygwin中;
2、 修改cygwin的环境,这里我做了如下的修改:
1) 在d:\cygwin\cygwin.bat中加入set CYGWIN=title ntea
2) 在d:\cygwin\usr\X11R6\bin\startwin.bat中加入set CYGWIN=ntea
3) 启动xterm后输入以下命令来修改sh.exe
cd /bin
mv sh.exe sh-original.exe
ln ?s bash.exe sh.exe
在此小弟有一个问题向各位大侠请教,cygwin.bat和startwin.bat都可以启动cygwin环境,只不过一个是类似于DOS界面,而另一个是类似于windows界面,但两者的CYGWIN的值却不同,一个是title ntea,另一个是ntea,不知道是为什么?
3、 我从[url="http://www.uclinux.org/"]www.uclinux.org[/url]网上download下如下的文件:
1) uClinux源码:uClinux-dist-20051110.tar.gz
2) arm+uClinux工具链的源码:binutils-2.10.tar.bz2,binutils-2.10-full.patch,build-uclinux-tools.sh,elf2flt-20030314.tar.gz,elf2flt-cygwin-020612.patch,gcc-2.95.3.tar.gz,gcc-2.95.3-arm-mlib.patch,gcc-2.95.3-arm-pic.patch,gcc-2.95.3-arm-pic.patch2,gcc-2.95.3-cygwin-020611.patch,gcc-2.95.3-full.patch,gcc-2.95.3-m68k-zext.patch,gcc-2.95.3-sigset.patch,genromfs-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com

4、 在/usr/local/src中执行如下如下命令:
tar xzvf uClinux-dist-20051110.tar.gz
cd uClinux-dist
make xconfig
我只修改了几个选项:vendor/product选择GDB,kernel version选择linux-2.4.x,libc version选择uClibc,default all settings选择y,其余的保持不变
make dep
5、 将arm+uClinux工具链的源码拷贝到/usr/local/armtools,将/usr/local/src/uClinux-dist/linux-2.4.x拷贝到/usr/local/armtools中
6、 在/usr/local/armtools下执行./build-uclinux-tools.sh build(它有build,continue,tar,clean四个选项,我不知道应该选build还是tar,但选tar选项总是出现错误,因此我选择了build选项,不知道对还是不对?)在这期间还陆续出现了几个问题,如找不到uClibc目录,我将uClibc-20030314.tar.gz用命令tar解压开,继续编译(./build-uclinux-tools.sh continue),但当编译到STAGE3时确告诉我在/bin/sh下找不到arm-elf-gcc命令,我在windows在搜索了整个d:\cygwin目录都没有找到(不好意思,不知道在cygwin中如何实现该功能?),后来一想我正在生成交叉编译器,arm-elf-gcc就是其中之一,怎么可能有呢?到此小弟就束手无策了,请各位大侠帮帮我,如何解决这个问题。
:confused: :confused: :confused:
作者: zhan_cl 发布时间: 2006-01-25
当编译到STAGE3时确告诉我在/bin/sh下找不到arm-elf-gcc命令......
是不是前面的编译出错了?
是不是前面的编译出错了?
作者: flag 发布时间: 2006-01-27
我不建议你在cygwin下搞什么交叉编译
很麻烦的
不说编译器bootstrap麻烦
这补丁那补丁的
其他的库,应用程序等更麻烦
cygwin用的c库也麻烦,是bsd的杂牌库,和很多glibc不兼容
会搞到新手焦头烂额
很麻烦的
不说编译器bootstrap麻烦
这补丁那补丁的
其他的库,应用程序等更麻烦
cygwin用的c库也麻烦,是bsd的杂牌库,和很多glibc不兼容
会搞到新手焦头烂额
作者: AIKO_sex 发布时间: 2006-01-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28