交叉編譯環境搭建

一、profile bashrc bash_profile 的區別和聯繫【轉】

/etc/profile:此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:
爲每一個運行bashshell的用戶執行此文件.bash shell被打開時,該文件被讀取.
~/.bash_profile:
每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc:
該文件包含專用於你的bashshellbash信息,當登錄時以及每次打開新的shell,該文件被讀取.(每個用戶都有一個.bashrc文件,在用戶目錄下)
~/.bash_logout:
當每次退出系統(退出bash shell),執行該文件.
另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係.~/.bash_profile 是交互式、login 方式進入 bash 運行的,~/.bashrc 是交互式non-login 方式進入 bash 運行的。通常二者設置大致相同,所以通常前者會調用後者。


在登錄Linux時要執行文件的過程如下:
在剛登錄Linux時,首先啓動 /etc/profile 文件,然後再啓動用戶目錄下的 ~/.bash_profile~/.bash_login ~/.profile文件中的其中一個,

執行的順序爲:~/.bash_profile ~/.bash_login~/.profile

如果 ~/.bash_profile文件存在的話,一般還會執行 ~/.bashrc文件。

因爲在 ~/.bash_profile文件中一般會有下面的代碼:
if [ -f ~/.bashrc ] ; then
. ./bashrc
fi
~/.bashrc
中,一般還會有以下代碼:
if [ -f /etc/bashrc ] ; then
. /bashrc
fi
所以,~/.bashrc會調用/etc/bashrc文件。最後,在退出shell時,還會執行~/.bash_logout文件。
執行順序爲:/etc/profile -> (~/.bash_profile | ~/.bash_login |~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

關於各個文件的作用域,在網上找到了以下說明:
1/etc/profile此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置。
2/etc/bashrc: 爲每一個運行bash shell的用戶執行此文件.bash shell被打開時,該文件被讀取。
3~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。
4~/.bashrc:該文件包含專用於你的bash shellbash信息,當登錄時以及每次打開新的shell,該該文件被讀取。
5~/.bash_logout: 當每次退出系統(退出bash shell),執行該文件. 另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係。
6~/.bash_profile是交互式、login 方式進入 bash 運行的~/.bashrc是交互式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用後者。

二、建立交叉編譯環境方法

1、交叉編譯環境 arm-linux-gcc-2.95.3 的建立

大衆化方法

1.下載cross-2.95.3.tar.bz2

2.建目錄,複製,解壓

cd /usr/local

mkdir arm

cd arm

複製cross-2.95.3.tar.bz2 到當前目錄

tar jxvf cross-2.95.3.tar.bz2

3.導出/usr/local/arm/2.95.3/bin 到環境變量

/etc/profile 最後添加PATH=$PATH:/usr/local/arm/2.95.3/bin

ubuntu 下面方法

1.http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/下載cross-2.95.3.tar.bz2

2.cross-2.95.3.tar.bz2拷貝至/home下,然後通過

$sudo tar jxvfcross-2.95.3.tar.bz2解壓;

3.將解壓後的文件夾複製到/usr/local/arm

$cp -r/home/2.95.3/ /usr/local/arm/ ;

4.把交叉編譯器的路徑加入到PATH中,

$sudo vi/etc/bash.bashrc 在最後面加入如下代碼:

if [ -d/usr/local/arm/2.95.3 ]; then

PATH=/usr/local/arm/2.95.3/bin:"${PATH}"

fi

5.使新的環境變量生效

$source/etc/profile

6.檢查是否將路徑加入到PATH$echo $PATH

7.可以通過編寫hello world程序測試。

交叉編譯環境 arm-linux-gcc-3.4.1的建立

一般方法

1.下載arm-linux-gcc-3.4.1.tar.bz2

ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.3.2.tar.bz2

2.複製,解壓

cd /

複製arm-linux-gcc-3.4.1.tar.bz2到當根目錄

tar jxvf arm-linux-gcc-3.4.1.tar.bz2

或者,直接這樣:

tar jxvf arm-linux-gcc-3.4.1.tar.bz2-C/

3.導出/usr/local/arm/3.4.1/bin到環境變量

/etc/profile 最後添加PATH=$PATH:/usr/local/arm/3.4.1/bin

導出使環境變量

1.export PATH=$PATH:/usr/local/arm/2.95.3/bin/:(臨時起作用)

2.在你的家目錄裏,修改自己的環境變量:vi ~/.bash_profile 把這個文件添加到.bash_profile中就行了(對某用戶起作用)

3.修改/etc/porfile文件,在最後加上exportPATH=$PATH:/usr/local/arm/2.95.3/bin/: (對所有用戶起作用);

文件修改後,要使更改環境變量生效一般的做法是重新登錄,

運行# source /etc/profile 可以使導出的環境變量馬上生效,避免重啓。

ubuntu下交叉編譯環境構建(arm-linux-gcc-3.4.1.tar.bz2

1.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下。

http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

2.解壓 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2

  解壓過程需要一段時間,解壓後的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/

# cd usr/local/

#cp -rv arm /usr/local/

  現在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了

3.修改環境變量,把交叉編譯器的路徑加入到PATH(有三種方法,強烈推薦使用方法一)

  方法一:修改/etc/bash.bashrc文件

#vim /etc/bash.bashrc

在最後加上:exportPATH$PATH:/usr/local/arm/3.4.1/binexportPATH(如果不能編輯,先修改相關文件的權限使用chmod命令。)

方法二修改/etc/profile文件

# vim /etc/profile增加路徑設置,在末尾添加如下,保存/etc/profile文件:

export PATH$PATH:/usr/local/arm/3.4.1/bin

  方法三:#export PATH$PATH:/usr/local/arm/3.4.1/bin

注:(這只能在當前的終端下才是有效的!)

4.立即使新的環境變量生效,不用重啓電腦:

對應方法一:#source /root/.bashrc

對應方法二:# source /etc/profile

5.檢查是否將路徑加入到PATH

# echo $PATH

 顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。

6.測試是否安裝成功

# arm-linux-gcc –v


轉自:

http://hi.baidu.com/wise/hdwlijngufbilrd/item/4a874de32e1ab3acc10d75c2?nopager&ssid=0&from=0&bd_page


最近看到大家很多人在糾結這個交叉編譯環境的安裝問題,所以我在網上搜索了這個比較全的文檔。以上方法選自與網上。對於大家的問題,環境變量的設置是關鍵,如果大家看了我的那個《shell學習筆記》的話,肯定會知道,關於exportpath等相關的環境變量的配置,關鍵是裏面的相關語法,如exportpath的兩側不能有空格等等,要注意。其實,環境變量的設置大同小異,都是更改相關的配置文件,如profilebashrc等,只要大家仔細,不要添加多餘的空格或者相關的符號就可以正確配置成功。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章