1. 安装Ptxdist
(在这之前已经参考该书建议的目录方式,在我自己的用户目录下面,新建了一个名为“my-first-linux-system”的目录,在该目录下又建了bootldr、build-tools、debug、doc、images、kernel、project、rootfs、sysapps、tmp、tools等目录。)
cd ~/my-first-linux-system/build-tools
wget http://www.pengutronix.de/software/ptxdist/download/ptxdist-2010.01.0.tgz
wget http://www.pengutronix.de/software/ptxdist/download/ptxdist-2010.01.0-patches.tgz
tar -zxv -f ptxdist-2010.01.0.tgz
tar -zxv -f ptxdist-2010.01.0-patches.tgz
cd ptxdist-2010.01.0
./configure --prefix=~/my-first-linux-system/build-tools/
make
make install
在执行“ ./configure --prefix=~/my-first-linux-system/build-tools/“时,会检查系统是否已经安装了相应的软件包,此时最好能 够联网,检查到缺少什么软件包,安装后重新执行这句话,直到成功生成Makefile文件,才能接着执行下面的语句。
现在,软件已经安装完成了。
2. 配置Ptxdist
../bin/ptxdist setup
进入设置菜单,主要设置两个地方:
a. 将Project Searchpath设置成:~/my-first-linux-system/tools;
b. 将Source Directory 设置成: ~/my-first-linux-system/build-tools;
保存后退出。
3. 建立一个工具链项目
Ptxdist是以项目的概念为中心的。项目中包含了构建一组特定软件所需要用到的配置文件及补丁。为了利用Ptxdist框架着手构建我们的交叉工具链,我从Ptxdist的网站尚下载并解开一个“工具链Ptxdist项目”范例。
wget http://www.pengutronix.de/oselas/toolchain/download/OSELAS.Toolchain-1.99.3.8.tar.bz2
tar -jxv -f OSELAS.Toolchain-1.99.3.8.tar.bz2
cd OSELAS.Toolchain-1.99.3.8/
接着执行
~/my-first-linux-system/build-tools/bin/ptxdist select \
ptxconfigs/arm-1136jfs-linux-gnueabi_gcc-4.3.2_glibc-2.8_binutils-2.19_kernel-2.6.27-sanitized.ptxconfig
接下来就给所选的范例工具链项目定义自己的配置,
~/my-first-linux-system/build-tools/bin/ptxdist menuconfig
这里边,我主要该了misc选项下的东西,改动如下:
a. prefix for install: ~/my-first-linux-system/tools
b. ptxdist version: 2010.01.0.
设定之后,保存退出。
4. 构建工具链
~/my-first-linux-system/build-tools/bin/ptxdist go
这个过程比较费时间,Ptxdist会自动下载、设定、修补、构建以及安装所有必要的组件。构建完成之后,新的工具链已经出现在项目根目录下的tools/bin目录中。