天天看點

Ubuntu下搭建MIPS交叉編譯環境

費了九牛二虎之力,終于把MIPS交叉編譯環境搭建好了。接下來跟大家分享一下這篇文章,裡面的方法是我親自試過的,絕對好用。謝謝寫這篇文章的部落客。

MIPS是一個RISC的處理器體系結構,與之類似的還有x86,arm等,今天我們介紹如何在Ubuntu下搭建MIPS交叉編譯環境:

1.下載下傳:

在 http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2 下載下傳buildroot:

tar -jxvf buildroot-snapshot.tar.bz2

cd buildroot

2.配置buildroot:

make clean

make menuconfig

會出現和編譯Linux類似的菜單選擇界面,如下圖:

Ubuntu下搭建MIPS交叉編譯環境

選擇第一項“Target Architecture”,改成MIPS(little endian),如下圖:

Ubuntu下搭建MIPS交叉編譯環境

另外,選擇“Toolchain”,務必将“Kernel Headers”的Linux版本改成你自己主機的Linux版本(因為我們編譯出的MIPS交叉工具是需要在我們的主機上運作的),如下圖,我的主機是Ubuntu 11.04的,Linux版本是2.6.38-8:

Ubuntu下搭建MIPS交叉編譯環境

3.編譯:

注意:

1.編譯過程中必須聯網,因為會下載下傳一些壓縮包存放在buildroot/dl檔案夾下,比如binutils、gcc等!如下圖:

Ubuntu下搭建MIPS交叉編譯環境

2.必須事先安裝好bison、flex、texinfo、ncurses等,比如我第一次編譯,出現如下錯誤,因為我沒有安裝texinfo:

sudo apt-get install texinfo       就可以了:

Ubuntu下搭建MIPS交叉編譯環境

之後就是漫長的等待了,差不多1個小時。。。

4.

編譯完成後,在buildroot檔案夾下多了一個output檔案夾,其中就是編譯好的檔案:

cd buildroot/output/host/usr/bin

我們發現了mips的交叉編譯工具已經生成啦~~:

Ubuntu下搭建MIPS交叉編譯環境

5.

另外,在buildroot/output/target檔案夾下,我們發現這就是我們之前選擇的Linux 2.6.36-8版的busybox!如下圖:

Ubuntu下搭建MIPS交叉編譯環境

我們用file指令檢視其中的某個可執行檔案,如下:

Ubuntu下搭建MIPS交叉編譯環境

我們看到,生成的檔案确實是MIPS平台的,在我的x86下是無法運作的。

6.

為了以後友善使用,我們直接将其中的bin檔案夾添加到環境變量中,省得我們日後輸入長長的路徑了。

将路徑添加到~/.bashrc檔案中,然後運作source指令:

source ~/.bashrc

具體請參考:http://blog.csdn.net/xiaoguaihai/article/details/8766448

以上轉自:http://blog.csdn.net/xiaoguaihai/article/details/8766394

以下轉自:http://www.linuxidc.com/Linux/2012-04/58746.htm

如果 make menuconfig 報錯如下:

*** Unable to find the ncurses libraries or the

*** required header files.

*** 'make menuconfig' requires the ncurses libraries.

***

*** Install ncurses (ncurses-devel) and try again.

***

make[1]: *** [scripts/kconfig/dochecklxdialog] 錯誤 1

make: *** [menuconfig] 錯誤 2

上述錯誤是說,執行make menuconfig 指令需要安裝ncurses-dev

解決方案:

在指令行中輸入:

sudo apt-get install libncurses5-dev

make menuconfig

Ncurses是一個能提供功能鍵定義(快捷鍵),螢幕繪制以及基于文本終端的圖形互動功能的動态庫。

這就不難解釋為何執行make menuconfig指令需要ncurses了。

Ncurses是一個能提供基于文本終端視窗功能的動态庫. Ncurses可以:

隻要您喜歡,您可以使用整個螢幕

建立和管理一個視窗

使用8種不同的彩色

為您的程式提供滑鼠支援

使用鍵盤上的功能鍵

Ncurses可以在任何遵循ANSI/POSIX标準的UNIX系統上運作,除此之外,它還可以從系統資料庫中檢測終端的屬性, 并且自動進行調整,提供一個不受終端限制的接口.是以,Ncurses可以在不同的系統平台和不同的終端上工作的非常好。

繼續閱讀