一步一步搭建mips_第1頁(yè)
一步一步搭建mips_第2頁(yè)
一步一步搭建mips_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、步一步搭建mips-linux-gcc-4.4.0交叉編譯工具一、準(zhǔn)備工作:工作環(huán)境:宿主機(jī):ubuntu10.04 linux-2.6.32-24-generic i686 gcc-4.4.3目標(biāo)機(jī):mips32軟件包版本:binutils-2.19.1gcc-4.4.0glibc-2.9linux-gmp-4.3.0mpfr-2.4.2glibc-2.9-libgcc_eh-1.patchglibc-ports-2.9工作目錄:-home|-crosstool|-bin/存放最終的可執(zhí)行文件和lib|-headers|-mips|-4.4.0|-bin|-|-binutils/對(duì) binu

2、tils 編譯|-build|-binutils-2.19.1/源碼|-gcc|-build|-gcc-4.4.0|-glibc|-build|-glibc-2.9|-linux|-linux-|-qemu/存放模擬器二、編譯步驟:1、編譯 binutilslsq$:cd /home/crosstool/binutils/build OFlsq$:./binutils-2.19.1/configure -target=mips-linux -pref=/home/crosstool/bin/mips/4.4.0 -disable-nls-disable-werror -dsable-multi

3、lib-enable-sharedEOFlsq$:make all-gcc & make install-gcc OFlsq$:make all-target-libgcc & make install-target-libgcc OFDone!結(jié)果:能夠在目標(biāo)文件夾查看到生成的可執(zhí)行文件。如:mips-linux-as注:各參數(shù)意義可查看binutils的INSTALL文件;藍(lán)色部分是必須的,不能僅僅用make & make install”否則會(huì)報(bào)找不到文件錯(cuò)誤紅色部分是必須的,不能省去,否則在編譯glibc的時(shí)候會(huì)出現(xiàn)找不到-lgcc”錯(cuò)誤.具體原因還沒研究清楚?2、編譯 GCCP1首先

4、將GMP和MPFR兩個(gè)文件夾解壓并重命名為gmp,mpfr后復(fù)制到GCC源文件夾中。Lsq$:./gcc-4.4.0/configure -target=mips-linux -pref=/home/crosstool/bin/mips/4.4.0/ -vithout-headers-with-newlib -with-float=soft -with-gnu-as -with-gnu-ld -dable-nls -dsable-decimal-float -dsable-libgomp -disable-multilib -disable-libssp -disable-shared -li

5、able-threads -dsable-libmudflap -cfcable-libstdcxx-pch -disable-libffi enable-languages=c OFlsq$:make & make install OFDone!結(jié)果:bin文件夾下會(huì)多了mips-linux-gcc等可執(zhí)行程序增加環(huán)境變量:export PATH=$FATH:/home/crosstool/bin/mips/4.4.0/bin之后在終端輸入 mips-linux-gcc 會(huì)提示沒 有輸入文件”,否則則是沒有安裝成功或者環(huán)境變量沒有設(shè)置成功。3、編譯linux內(nèi)核實(shí)際上只是復(fù)制linux內(nèi)核頭

6、文件這一步最好在第一次編譯完GCC之后進(jìn)行,否則會(huì)提示*mips-linux-gcc命令不存在,的錯(cuò)誤一一雖然對(duì)結(jié)果可能最終 沒什么影響lsq$: make ARCH=mips CROSS_COMPILE=mips-linux- INSTALL_HDR_PTH=/home/crosstool/bin/headers headers_installEOFDone!這一步只是復(fù)制了 linux內(nèi)核頭文件,不過(guò)對(duì)于較低版本的inux (如2.24)則需要設(shè)置好參數(shù)后編譯內(nèi)核。4、編譯GLIBC出問(wèn)題最多的一步將glibc-ports-2.9解壓后重命名為ports并復(fù)制到Glibc的源文件夾中,該文

7、件夾主要用于針對(duì)mips架構(gòu)的一些移植 等。重要:對(duì)glibc加上glibc-2.9-libgcc_eh-1.patch補(bǔ)丁,否則會(huì)報(bào)無(wú)法找到-lgcc_eh”錯(cuò)誤,當(dāng)然也可以按如下網(wǎng)址對(duì)相 關(guān)配置文件進(jìn)行修改: HYPERLINK /browser/patches/glibc-2.9-libgcc_eh-1.patch7revndbb2738d4c11387e45faceea1a42cc60fac7 /browser/patches/glibc-2.9-libgcc_eh-1.patch7revndbb2738d4c11387e45faceea1a42cc60fac752f1關(guān)于lfs的一個(gè)

8、補(bǔ)丁說(shuō)明,不過(guò)手動(dòng)修改挺麻煩的,還可能改錯(cuò)。在編譯根目錄下建立config.cache文件,并加入以下內(nèi)容:libc_cv_forced_unwind=yeslibc_cv_c_cleanup=yeslibc_cv_mips_tls=yeslibc_cv_gnu99_inline=yes以增加對(duì)NPTL的支持,當(dāng)然也可以不加入該文件而在配置時(shí)加入相關(guān)的配置參數(shù)lsq$:BUILD_CC=gcc CC=mips-linux-gcc AR=mips-linux-ar LD=mips-linux-ldRANLIB=mips-linux-ranlib ./glibc-2.9/configure -ho

9、st=mips-linux target=mips-linuxprefix=/home/crosstool/bin/mips/4.4.0/mips-linux with-headers=/home/crosstool/bin/headers/include-with-binutils=/home/crosstool/bin/mips/4.4.0/bin -withsl -with-_thread -enable-sim -enable-nptl-enable-add-ons -enable-kernel= -disable-profile -without-gdw-ithout-cvs -ca

10、che-file=config.cache EDF 編譯完成后將會(huì)在prefix目錄下生成相關(guān)文件。注:網(wǎng)絡(luò)上說(shuō)需要修功prefX$/lib/libc.so文件,實(shí)際上目的只是讓ld能查找到它需要的庫(kù),所以一般將路徑中的文件 夾前綴去掉,只留下文件名一一即在當(dāng)前文件所在文件夾查找;而由于我在編譯時(shí)一直使用絕對(duì)路徑,故這里就使用本 來(lái)就有的絕對(duì)路徑而不修改。在編譯math中fpu相關(guān)文件時(shí)會(huì)出現(xiàn)某個(gè)錯(cuò)誤(錯(cuò)誤描述居然沒記下來(lái).),此則可加上-without-fp而避免此錯(cuò) 誤,當(dāng)然,可能編譯器少了對(duì)浮點(diǎn)的支持。這一步還可能出現(xiàn)各種錯(cuò)誤。5、編譯GCCP2所需時(shí)間最長(zhǎng)只要前面沒有出現(xiàn)錯(cuò)誤或者出現(xiàn)錯(cuò)誤后不是投機(jī)而讓其蒙混編譯通過(guò)的話這一步應(yīng)該不會(huì)出現(xiàn)錯(cuò)誤。Lsq$:./gcc-4.4.0/configure -target=mips-linux -pref=/home/crosstool/bin/mips/4.4.0/ -Wth-float=soft -enable-languages=c,c+ -enable-threads=posix -enable-c99 -enable-long-long -enable-shared -enable

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論