1. 程式人生 > >一步一步搭建mips-linux-gcc-4.4.0交叉編譯工具

一步一步搭建mips-linux-gcc-4.4.0交叉編譯工具

     
二、編譯步驟:
 1、編譯binutils
  lsq$:cd /home/crosstool/binutils/build EOF
  lsq$:../binutils-2.19.1/configure --target=mips-linux --prefix=/home/crosstool/bin/mips/4.4.0 --disable-nls --disable-werror --disable-multilib –enable-shared
 EOF
  lsq$:make all-gcc && make install-gcc EOF
  lsq$:make all-target-libgcc && make install-target-libgcc EOF
  Done!
  結果:能夠在目標資料夾檢視到生成的可執行檔案。如:mips-linux-as
 注:各引數意義可檢視binutils的INSTALL檔案;
  藍色部分是必須的,不能僅僅用“make && make install”,否則會報找不到檔案錯誤;
  紅色部分是必須的,不能省去,否則在編譯glibc的時候會出現“找不到-lgcc”錯誤 .
  具體原因還沒研究清楚?
 2、編譯GCC--P1
  首先將GMP和MPFR兩個資料夾解壓並重命名為gmp,mpfr後複製到GCC原始檔夾中。
  Lsq$:../gcc-4.4.0/configure --target=mips-linux --prefix=/home/crosstool/bin/mips/4.4.0/ --without-headers --with-newlib --with-float=soft --with-gnu-as --with-gnu-ld --disable-nls --disable-decimal-float --disable-libgomp --disable-multilib --disable-libssp --disable-shared --disable-threads --disable-libmudflap --disable-libstdcxx-pch --disable-libffi enable-languages=c EOF
  lsq$:make && make install EOF
  Done!
  結果:bin資料夾下會多了mips-linux-gcc等可執行程式
  增加環境變數:export PATH=$PATH:/home/crosstool/bin/mips/4.4.0/bin 之後在終端輸入mips-linux-gcc 會提示“沒有輸入檔案”,否則則是沒有安裝成功或者環境變數沒有設定成功。
 3、編譯linux核心--實際上只是複製linux核心標頭檔案
  這一步最好在第一次編譯完GCC之後進行,否則會提示“mips-linux-gcc命令不存在”的錯誤--雖然對結果可能最終沒什麼影響
  lsq$: make ARCH=mips CROSS_COMPILE=mips-linux- INSTALL_HDR_PATH=/home/crosstool/bin/headers headers_install
 EOF
  Done!
  這一步只是複製了linux核心標頭檔案,不過對於較低版本的linux(如2.24)則需要設定好引數後編譯核心。
 4、編譯GLIBC--出問題最多的一步
  將glibc-ports-2.9解壓後重命名為ports並複製到Glibc的原始檔夾中,該資料夾主要用於針對mips架構的一些移植等。
  重要:對glibc加上glibc-2.9-libgcc_eh-1.patch補丁,否則會報“無法找到-lgcc_eh”錯誤,當然也可以按如下網址對相關配置檔案進行修改: