crosstool 是個用來建立 cross-compile toolchains 的好工具,可以利用它來建立許多不用架構的 toolchains 進行 cross-compile。
這裡使用 crosstool-0.43 來建立 toolchains:
根據參考資料,我選擇了使用 gcc-4.1.1 與 glibc-2.3.2 的組合。但是這個組合在 crosstool-0.43 中,有個 patch 沒有放進來。因此需要手動下載 patch:
因為要建立 ARM 的 toolchains,所以修改 demo-arm.sh,把最後一行換成
另外,在 demo-arm.sh 當中,可以設定建立的 toolchains 所存放的目錄,以及其他參數。比如說,
為了不影響系統,我是安裝在家目錄底下:
又,我用的機器是二顆雙核的 CPU,所以可以設定 CPU 數目:
一切都設好了之後,就直接執行 demo.arm.sh 就可以開始建立 toolchains 了:
Have Fun!
參考資料:
Building and Testing gcc/glibc cross toolchains
crosstool-howto
crosstool variables(透過 crosstool 編譯時會用到的變數設定)
crosstool 在 googlecode 上的 svn
這裡使用 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
全站熱搜
留言列表