crosstool 是個用來建立 cross-compile toolchains 的好工具,可以利用它來建立許多不用架構的 toolchains 進行 cross-compile。

這裡使用 crosstool-0.43 來建立 toolchains:
$ wget http://www.kegel.com/crosstool/crosstool-0.43.tar.gz
$ tar -xzvf crosstool-0.43.tar.gz
$ cd crosstool-0.43






根據參考資料,我選擇了使用 gcc-4.1.1 與 glibc-2.3.2 的組合。但是這個組合在 crosstool-0.43 中,有個 patch 沒有放進來。因此需要手動下載 patch:
$ cd patches/glibc-2.3.2
$ wget http://crosstool.googlecode.com/svn/trunk/src/ \
   patches/glibc-2.3.2/glibc-2.3.2-csu-Makefile.patch
$ cd ../..






因為要建立 ARM 的 toolchains,所以修改 demo-arm.sh,把最後一行換成
eval `cat arm.dat gcc-4.1.1-glibc-2.3.2.dat` sh all.sh --notest



另外,在 demo-arm.sh 當中,可以設定建立的 toolchains 所存放的目錄,以及其他參數。比如說,

為了不影響系統,我是安裝在家目錄底下:
RESULT_TOP=$HOME/crosstool

又,我用的機器是二顆雙核的 CPU,所以可以設定 CPU 數目:
PARALLELMFLAGS=-j5



一切都設好了之後,就直接執行 demo.arm.sh 就可以開始建立 toolchains 了:
$ ./demo-arm.sh

Have Fun!

參考資料:
Building and Testing gcc/glibc cross toolchains
crosstool-howto
crosstool variables(透過 crosstool 編譯時會用到的變數設定)
crosstool 在 googlecode 上的 svn





全站熱搜

zxlin 發表在 痞客邦 留言(0) 人氣()