Sunday, December 21, 2008
Ubuntu 8.10 64bit
一、设置交叉编译环境
所用包:
crosstool-0.43
gcc-3.3.6
gcc-4.1.1
glibc-2.3.2
binutils-2.16.1
linux-libc-headers-2.6.12.0
linux-2.6.27.6
事先必须安装的包:bison flex build-essential patch libncurses5-dev(patch可能会找不到,没有太大关系)
1. Ubuntu 8.10 默认安装的 gcc 版本为4.3.2,根据多人反映,用此版本编译会出错,目前不宜选用
于是选择了 gcc-4.1.1 ,但并不需要卸载 gcc-4.3.2
在 Ubuntu 8.10 不要去下 gcc-4.1.1 的源码来编译(自行下载源码编译会发现遇到更多的问题),直接在终端输入
sudo apt-get install gcc-4.1
安装就可以了
然后是
sudo rm /usr/bin/gcc (删除GCC,它只是个到gcc-4.3.2的软链接文件)
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的软链接)
编译完成后可以运行以下命令修改回来
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
如果运行
ls -la /bin/sh
看到链接的是 dash ,则请运行以下命令
sudo dpkg-reconfigure dash
选择 no 以删除 dash ,编译完成可再运行此命令选择 yes 以重新安装 dash
此处如果不改好的话,编译时会出现错误。
cd crosstool-0.43
cp demo-arm.sh arm.sh
vi arm.sh
修改如下:
set -ex
TARBALLS_DIR=$HOME/downloads//crosstool 所在目录
RESULT_TOP=/home/luis/crosstool//安装目录
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.1.0-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm9tdmi.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest
eval `cat arm.dat gcc-4.1.1-glibc-2.3.2.dat` sh all.sh --notest
修改 crosstool-0.43 目录下 gcc-4.1.1-glibc-2.3.2.dat 为
BINUTILS_DIR=binutils-2.16.1
GCC_CORE_DIR=gcc-3.3.6
GCC_DIR=gcc-4.1.1
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.27.6
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
GDB_DIR=gdb-6.5//事先下载好gdb-6.5放在定义的源代码目录下
arm.dat文件
KERNELONFIG='pwd'/arm.config//内核的配置
TARGET=arm-linux-//编译生成的工具链的名称
TARGET_CFLAGS="-O"
在终端中进入 crosstool-0.43 目录执行
./arm.sh
注:不要以root用户登录进行编译
好的机器大概半个钟头便可以编译完成,编译过程中可能会出现变量已经already set 的错误,只要运行一次Unset就可以了.
错误信息
| crosstool: glibc refuses to build if LD_LIBRARY_PATH is set. Please unset it before running this script. |
这个问题好解决,unset一下就行了
$ unset LD_LIBRARY_PATH
添加目录
在终端中输入以下命令
sudo gedit /etc/environment
在PATH结尾的分号前添加 Crosstool 的 bin 目录(此处我即使加了路径,在终端下也无法识别,所以每次编译都是手动定义好路径)
标签: linux
Monday, December 08, 2008
某日不知道上何网,突见安利IT招聘,顿生悦意,卒投之,熟料直杀入终面。
笔试:很简单的看图选择,20分钟30道题,即使每道题用最笨的方面,也基本能做完,算对,就是检验反应能力,然后休息5分钟,40分钟的英语题,有阅读,然后就是选择题,很像老四级的,就考单词,语法。(后来听智联的人说笔试淘汰了五分之四)
群面:在中信41楼,比一般的群面简单多了,8到10个人,不分组,也不分职位,第一部分是英文:介绍你旁边的人的兴趣,我旁边和我同一间学校,两个人比较有默契,不过我自己感觉这一组的人都比较弱,特别是英文没有说的特别好的,基本英文一开口就知道各自在这组处于什么位置了。第二部分是中文,很简单,一个topic大家说一下看法:网络是令人更亲近还是更疏远,我毫不犹豫得选了亲近,不过当然也要说明一下凡事都有两面性。补充发言我也没开口,另一个同学倒是说了很多,后来感觉这一组就我一个进了,其它组最多也就三个进的。
二面:一对一,聊天,面试官不怎么笑,不过还比较nice,全程看我简历问问题,都是比较regular的,一开始感觉像是帮我补充简历,然后还问了职业规划,兴趣,认为自己在学校和社会学习到的什么东西是比较适合应聘这个职位的,自己的弱点在哪里等等。。。当然能吹尽量吹,反正往好的方面吹。
部门面:四对一,感觉二面没怎么刷人,四个面试官都不错,两男两女,因为时间延后得比较多,所以先面试出来的都会说下问了什么,不过感觉每个人的都不一样,真是头大了,有人就被狂问技术问题,比如你做过什么项目啊,怎么做的啊之类的,而有得人就纯聊天,什么都问,就是不问技术。20到40分钟不等,我属于比较中间的吧,一上去就自我介绍,然后看我简历上写英文比较好,就跟我聊起英文来了,后来广州话都用上了,技术问题问了一点点,基本没怎么问,好像都是我自己主动说的。然后就问你想做哪个TEAM的职位,我选了技术支持,还问我喜不喜欢旅游,就是变相问你肯不肯出差。当然是肯定的回答,然后还问派到北京去行不行,当然也说行。唉。。。这年头,卖身不容易,有人要了就行。发现面试官问的问题都很随意,跟在我之前的人问的问题都不同,应该是开发和技术支持的不同吧。一个星期出结果,要再刷掉一半人。
想不到第二天就收到offer了,又是在自动控制课上,上次终面通知也是这时候,下了课也把这消息告诉老师了,她居然要让我请吃饭。。。。。
标签: Job Hunt
Subscribe to:
Posts (Atom)
