自己動手安裝交叉編譯工具鏈(朱有鵬裸機課程筆記)

2021-10-01 09:39:12 字數 3254 閱讀 9155

四、交叉編譯工具鏈安裝詳細步驟

步驟1:想辦法將widows中朱老師給的資料光碟a盤tool chain裡的arm-2009q3.tar.bz2弄到linxu中。辦法是可以用共享資料夾,也可以用samba或者cuteftp。我們用的是共享資料夾。

在widows指定的位置建立乙個winshare資料夾,並將arm-2009q3.tar.bz2壓縮檔案放在該資料夾內。

(1)開虛擬機器(2)在選單先《虛擬機器》下的《設定》裡的《選項》裡的《共享資料夾》在右傾選《總是啟用》並新增我們剛在widows中建立的winshare資料夾。最後啟動ubuntu,一般情況共享資料夾在根目標mnt/hgfs下就能找到。(找的辦法是 cd / 進入根目錄、cd mnt 進入mnt資料夾、cd hgfs 進入hgfs 資料夾。這時用ls檢視hgfs資料夾下是否存在winshare資料夾)。

注:linux中我們應該把交叉編譯工具鏈裝那裡?

linux中的目錄管理方法。技術角度講,linux中所有的目錄性質都是一樣的,所以技術角度來講我們把軟體安裝到那裡都行。實質我們在windows中會把應用軟體裝在programfiles資料夾。因為如果胡亂放置,將來程式可能不好找,所以久而久之大家就總結了乙個檔案放置的一般定義,譬如說linux中/bin目錄放置一些系統自帶的使用者使用的應用程式,/sbin目錄下存放的是系統自帶的系統管理方面的應用程式。

那我們裝的軟體放在哪 裡?一般在/usr目錄下。/usr下的bin和sbin是我們自己裝的,根目錄下這兩個資料夾是系統自帶的。

usr下的這兩個目錄。bin下放使用者應用軟體、sbin放系統管理軟體。

步驟2:進入根目錄下的usr/local(方法:cd / 進入根目錄、cd usr進入usr資料夾、cd local 進入local資料夾下、用sudo mkdir arm建立乙個arm資料夾用來存放arm-2009q3.tar.bz2檔案 )資料夾下建立乙個arm資料夾。然後通過共享資料夾把arm-2009q3.tar.bz2拷貝到arm資料夾下(方法是當前執行cp/mnt/hghs/winshare/arm-2009q3.tar.bz2 ./(拷貝arm-2009q3.tar.bz2到當前目錄下))。

步驟3:在根目錄下的usr/local/arm中。解壓arm-2009q3.tar.bz2檔案。命令是tar -jxvf arm-2009q3.tar.bz2。

/bin資料夾下的arm-none-linux-gnueabi-gcc就是我們的gcc。

到此時程式已經安裝完畢,真正的應用程式安裝在/usr/local/arm/arm-2009q3/bin目錄下。

步驟4:安裝測試

到真正的應用安裝目錄下(/usr/local/arm/arm-2009q3/bin)去執行./arm-none-linux-gnueabi-gcc -v

-v引數是測試版本號。執行後會得到一長串輸出,其中有」gcc version 4.4.1」字樣即表示安裝成功。

五、為工具鏈建立符號鏈結(提高工具使用效率)

因為每次執行輸入arm-none-linux-gnueabi-gcc太長、難記。所以我們用符號連線建立乙個自己起的乙個名arm-linux-gcc實質幹活的還是原來的檔案(像windows中的快捷方式)。

因為工具鏈太多、每個手工建立符號連線太慢,我們選擇的方法是把符號鏈結建立命令寫到指令碼檔案裡,建立乙個指令碼檔案。建立指令碼檔案方法:起乙個以sh字尾結尾的檔名。本實驗用mk_arm_linux-sh這個名稱。注意:檔案第一行必須寫#!/bin/sh這是指令碼檔案規則。在實際中本來想在windows中建立乙個符號連線指令碼,然後通過共享資料夾應用到ubuntu中來完成。結果因為windows和ubuntu中檔案的行結尾不一樣而導致失敗。解決辦法是把windows中建立的符號連線指令碼內容複製到ubuntu的vi中儲存為mk_arm_linux-sh就可以了。這時候注意mk_arm_linux-s**件的許可權。可以通過chmod a+wxr來修改。

建立指令碼檔案命令是:ln 源檔名 -s 連線檔名

執行指令碼方法: ./指令碼檔名和普通命令執行方法一樣。注意指令碼檔案許可權否則可能執行不了。

注:chmod命令 用來修改檔案、資料夾許可權

chmod [ u/ g / o / a ] [ +/ -/ = ] [ r/ w /x ] file

其中:u表示user 是檔案所有者

g表示跟user同group的使用者

o表示other即其它使用者

a表示all, 所有使用者

+表示增加許可權

-表示取消許可權

=表示增加許可權

+表示取消之前許可權,並給予唯一的許可權

r表示讀、w表示寫、x表示執行、file表示檔名或路徑加檔名

windows和linux檔案行尾區別

在linux中,文字檔案用\n表示回車換行。而在widows中用\r\n表示回車、換行。所以在linux中如果要用windows中建立的檔案。如果只是用來看不會影響。但是如果是可執行檔案就會出錯。linux中提供兩種檔案格式相互轉換的命令。dos2unix把\r\n轉換成\n(即windows檔案轉換為linux檔案)。unixtodos把\n轉換成\r\n(即把linux檔案轉換為windows檔案)。

命令使用方法:命令 + 檔名

六、環境變數

1、環境變數的意義

環境變數就是作業系統的全域性變數。每乙個環境變數對作業系統來說都是唯一的,名字和所代表的意義都是唯一的。linux系統可以有很多個環境變數。其中有一部分是linux系統自帶的,還有一些是我們自己來擴充的。我們這裡涉及到的乙個環境變數是path。path這個環境變數是系統自帶的,它的含義就是系統在查詢執行程式時會搜尋的路徑範圍。

2、將交叉編譯工具鏈匯出到環境變數

命令是:export path=/usr/local/arm/arm-2009q3/bin:pat

h這段中

間不能留

空格。後

麵加

path這段中間不能留空格。 後面加

path這段

中間不能

留空格。

後面加path匯出到原變數:前、反之倒到原變數後。

注:在乙個終端中執行以上命令後,該終端中就可以在任意目錄下使用arm-linux-gcc了,但是只要關掉這個終端再另外開啟乙個立馬就不行了。原因是我們本次終端中執行時的操作只是針對本終端,以後再開啟的終端並未執行過這個命令所以沒匯出。解決方案是在主目錄 ~/.bashrc中,新增export path=/usr/local/arm/arm-2009q3/bin:$path到.bashrc檔案未尾儲存後即可(此時要關閉一次終端重新開啟才能生效用)。注意:我們匯出這個環境變數是在當前使用者,如果你登入時在其它使用者下是沒用的。

檢視環境變數path搜尋執行檔案路徑用echo $path命令路徑用冒號隔開。

Linux 自己動手安裝交叉編譯工具鏈

一 安裝步驟 步驟1 開啟虛擬機器,在 usr local 下建立 usr local arm資料夾 步驟2 先將安裝包從windows中弄到linux中去。可以用共享資料夾,也可以 用samba,也可以cuteftp。步驟3 解壓。tar jxvf arm 2009q3.tar.bz2 到此相當於...

交叉編譯工具鏈安裝

平台 pc 筆者使用虛擬機器vmware 系統 redhat6 ubuntu 版本 4.3.2 tar xvzf arm linux gcc 4.3.2.tgz c 注意這裡使用的是預設解壓路徑,預設是解壓到 usr local arm目錄下 如果需要制定安裝路徑的,只需要在 c後面跟上具體路徑即可...

交叉編譯工具鏈安裝

平台 pc 筆者使用虛擬機器vmware 系統 redhat6 ubuntu 版本 4.3.2 tar xvzf arm linux gcc 4.3.2.tgz c 注意這裡使用的是預設解壓路徑,預設是解壓到 usr local arm目錄下 如果需要制定安裝路徑的,只需要在 c後面跟上具體路徑即可...