安裝Arm-Linux交叉編譯器正確的方法:
首先我用的是天嵌自帶的交叉編譯器EABI-4.3.3_EmbedSky_20100610.tar.bz2,
1. 首先建一個存放交叉編譯器的目錄,我建的目錄的絕對路徑是:/opt/TQ (TQ就是我建的目錄)
2. 解壓EABI-4.3.3_EmbedSky_20100610.tar.bz2:
tar xjvf EABI-4.3.3_EmbedSky_20100610.tar.bz2
該文件解壓後,就會在TQ這個目錄中生成兩個目錄:opt,usr;
3. 添加環境變數 :
在/etc/profile中添加
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/TQ/opt/EmbedSky/4.3.3/bin/
fi
添加完後 source /etc/profile 使他生效;
4. 在控制台執行以下命令:
cp /opt/TQ/opt/EmbedSky/4.3.3/bin /usr/local/arm
總結:第3步和第4步這兩步少了一步就會出現以下錯誤:
arm-none-linux-gnueabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
經驗:若在解壓時 用下面的命令:
tar xjvf EABI-4.3.3_EmbedSky_20100610.tar.bz2 -C/
就可以省去第四步
-C / :的意識是解壓到指定目錄,這里指根目錄,由於該壓縮包內部的目錄結構本身包含usr/local/arm,所以解壓到根目錄實際上就是把文件解壓到/usr/local/arm文件夾下。
B. vm下redhat9.0安裝完後怎麼安裝交叉編譯器
給你我上課的實驗文檔好了,rethat9最開始沒選gcc編譯那些組件也是不行的。 我的redhat9壓縮包,解壓就可以用了,版本是VM10,VM10以上應該可以兼容:
C. 虛擬機ubuntu12.04怎麼安裝交叉編譯器
1、下載文件: 安裝包:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 下載地址 2、開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中 輸入命令:sudotarxvzfarm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 安裝完成後,輸入ls命令,可以看到一個opt文件夾,如下圖 3.修改環境變數,把交叉編譯器的路徑加入到PATH: 利用tab鍵的補齊功能進入該路徑,如下圖 輸入pwd命令,查看當前路徑的絕對路徑 /home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin
D. 嵌入式linux的交叉編譯工具是安裝在普通用戶下還是root目錄下
建議裝在普通用戶下,但是開放777許可權或者755許可權,然後加入path列表
這樣在普通用戶的狀態下就能直接使用,但是又不會因為誤操作,把主機的系統文件修改/覆蓋
E. ubuntu怎麼安裝arm交叉編譯器
1、下載文件:
安裝包:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
2、開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中
輸入命令: sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
安裝完成後,輸入ls命令,可以看到一個opt文件夾,
3.修改環境變數,把交叉編譯器的路徑加入到PATH:
利用tab鍵的補齊功能進入該路徑
輸入pwd命令,查看當前路徑的絕對路徑
/home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin
F. 虛擬機ubuntu14.04怎麼安裝交叉編譯器
虛擬機ubuntu14.04怎麼安裝交叉編譯器,解答如下
開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中
輸入命令:
sudo
tar
xvzf
arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
安裝完成後,輸入ls命令,可以看到一個opt文件夾,如下圖
修改環境變數,把交叉編譯器的路徑加入到PATH:
利用tab鍵的補齊功能進入該路徑,如下圖
輸入pwd命令,查看當前路徑的絕對路徑
/home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin
G. 如何安裝交叉編譯器 詳細�0�3
1.將源碼拷至目錄文件: a) 使用命令:cp 3.4.1.tar.bz2 /lishangfeng 拷貝交叉工具的文件至目錄文件; 2.將源文件進行解壓: a) 使用命令:tar xvf 3.4.1.tar.bz2 解壓源文件,得到目錄文件(3.4.1); 3.查看目錄下的文件: a) 使用命令:ls b) arm-linux bin include info lib libexec man tmp 4.修改環境變數: a) 打開終端,查看當前環境變數: b) 輸入命令:echo $PATH c) 添加新的環境變數: 使用命令:PATH = $PATH:/lishangfeng/3.4.1/bin (這樣添加只針對本終端有用) d) 若想將環境變數永久添加,可以使用以下方法: 1)打開更改腳本文件: 2)使用命令:gedit /root/.bashrc 3)在文件的最後一行加上如下代碼: export PATH=$PATH:/lishangfeng/3.4.1/bin 4)保存退出,重新啟動linux 系統即可。 5.至此交叉編譯器就安裝成功了。 製作人:尚賢博學 於2013 年3 月3 號西安石油大學製作完成(希望能幫助到廣大熱愛嵌入式的朋友們)
H. 如何安裝arm-liunx交叉編譯環境
sh ./arm-elf-tools-20040427.sh安裝
----------------------------------------------
一、准備工作
首先需要一台運行Linux操作系統的PC以完成我們的編譯工作。
其次要准備如下一些源文件。
1、源文件准備
binutils-2.14.tar.gz
ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz
gcc-core-2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz
gcc-g++2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz
glibc-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz
glibc-linuxthreads-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz
linux-2.4.21.tar.gz
ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz
patch-2.4.21-rmk1.gz # linux kernel patch for arm
ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-2.4.21-rmk1.gz
binutils-2.14.tar.gz這個壓縮包包含有ld,ar,as等一些產生或者處理二進制文件的工具。
gcc-core-2.95.3.tar.gz這個壓縮包是GCC的主體部分,GCC是GNU Compiler Collection的簡稱,顧名思義,它能夠編譯很多種高級語言,例如C、C++,Java等,而這個壓縮包中含有C編譯器,及公共部分,而對其他語言的支持,採用另外的壓縮包單獨發布。
gcc-g++2.95.3.tar.gz,這個壓縮包就是為使GCC能夠編譯C++程序而單獨發布的。
glibc-2.2.4.tar.gz,libc是很多用戶層應用都要用到的庫,kernel和bootloader不需要這個庫的支持,這個庫主體部分封裝在這個壓縮包內。
glibc-linuxthreads-2.2.4.tar.gz,這是Libc用於支持Posix線程而單獨發布的一個壓縮包。
linux-2.4.21.tar.gz,這個壓縮包就是Linux的內核。
patch-2.4.21-rmk1.gz,這個壓縮包是用來給Linux內核打補丁,以使其可以支持ARM的硬體平台。
2、工作目錄搭建
我們創建如下的目錄樹結構
mkdir arm
mkdir tool-chain
mkdir build-dir
mkdir src-dir
mkdir setup-dir
mkdir kernel
arm這個目錄是我們的最頂層工作目錄,我們所有的編譯工作都在這里完成。
tool-chain這個目錄是我們交叉編譯工具的安裝位置,它下面的bin子目錄存放我們創建好的編譯器,匯編器,連接器,以及編譯好的C庫也會安裝到這個目錄之下。
setup-dir這個目錄用來存放我們下載的壓縮包。
src-dir這個目錄用於存放binutils,gcc,glibc解壓之後的源文件。
kernel這個目錄用來存放內核文件,對內核的配置、編譯工作將在這個目錄中完成。
build-dir用來編譯src-dir中的源文件,具體就是binutils,gcc,glibc的編譯工作將在這個目錄下完成。這種源文件目錄和編譯目錄分離的編譯方式是GNU所推薦的。
cd ./src-dir
tar –xvzf ../setup-dir/ binutils-2.14.tar.gz
tar –xvzf ../setup-dir/ gcc-core-2.95.3.tar.gz
tar –xvzf ../setup-dir/ glibc-2.2.4.tar.gz
tar –xvzf ../setup-dir/ glibc-linuxthreads-2.2.4.tar.gz –directory=./glibc-2.2.4
這樣我們在src-dir目錄下就形成了3個源文件目錄binutils-2.14,gcc-core-2.95,3,glibc-2.2.4,其中分別存放著binutils tools,gcc,glibc的源代碼。接下來我們到build-dir中創建3個與這三個源文件目錄對應的編譯目錄。
cd ../build-dir
mkdir ../build-dir/build-binutils
mkdir ../build-dir/build-gcc
mkdir ../build-dir/build-glibc
我們將在這三個目錄中完成對binutils tools, gcc, glibc的配置和編譯工作。下面還要把內核文件解壓到kernel目錄下,並打補丁。
cd ../kernel
tar –xvzf ../setup-dir/ linux-2.4.21.tar.gz
cd ./linux-2.4.21
patch –p1 < ../../setup-dir/ patch-2.4.21-rmk1
二、開始創建
1、 確定幾個系統變數
cd ../../
export TARGET=arm-linux
export PREFIX=../arm/tool-chain
export TARGET_PREFIX=$PREFIX/$TARGET
export KERNEL_SOURCE_LOCATION=../arm/kernel/linux-2.4.21
export PATH=$PREFIX/bin:$PATH
幾個系統變數經常要用到,TARGET定義了目標機,PREFIX是工具鏈的安裝目錄,KERNEL_SOURCE_LOCATION是內核文件位置。
TARGET這個變數對於ARM體系的目標機來說取值為arm-linux,對於其他體系結構的機器如ppc,mips的取值的詳細清單可以參見glibc目錄下的INSTALL文檔.
2、 創建binutils
運行如下命令來創建binutils
cd ./build-dir/build-binutils
configure ../../src-dir/binutils-2.14/configure –target=$TARGET –prefix=$PREFIX
make
make install
這時$PREFIX/bin下創建了一些文件,包括arm-linux-ld,arm-linux-as等。
3、 編譯內核
cd ../../kernel/linux-2.4.21
改Makefile文件使
ARCH = arm
CROSS_COMPILE=arm-linux-
make menuconfig
在System Types中選擇正確的硬體類型
make dep
之後執行如下操作
mkdir $TARGET_PREFIX/include
cp dR $KERNEL_SOURCE_LOCATION/include/arm-asm \
RGET_PREFIX/include/asm
cp dR $KERNEL_SOURCE_LOCATION/include/linux \
RGET_PREFIX/include/linux
4、 創建boot-trap gcc,這個GCC沒有glibc庫的支持,所以只能用於編譯內核,bootloader等,後面創建C庫也要用到這個編譯器,所以創建它主要是為創建C庫做准備,如果只想編譯內核和bootloader那麼,就可以到此結束。
cd ../../build-dir/build-gcc
../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \
--with-headers=$ERNEL_SOURCE_LOCATION/include –enable-language=c \
--disable-threads
然後修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在
TARGET_LIBGCC2_CFLAGS中添加如下兩個定義
-Dinhibit-libc –D__gthr_posix_h
make
make install
這時$PREFIX/bin下創建了一些文件,主要創建了arm-linux-gcc。
5、 創建gblic
cd ../build-glibc
export CC=arm-linux-gcc
../../src-dir/glibc-2.2.4/configure –host=$TARGET –prefix=$TARGET_PREFIX \
--enable-add-ons
make
make install
將glibc庫安裝完之後,我們要到$TARGET_PREFIX/lib這個目錄下修改libc.so文件,將其中
GROUP(/lib/libc.so.6 /lib/libc_noshared.a)
這個命令腳本中的/lib 的絕對路徑去掉, 也就是改為如下的形式
GROUP(libc.so.6 libc_noshared.a)
這樣下一步創建完整的編譯器時,才不至於導致錯誤.
6、 創建功能健全的GCC,並創建G++
在成功創建了libc之後,我們就可以創建功能豐富的GCC編譯器了,並且可以創建支持編譯C++程序的G++。
cd ../../src-dir
tar –xvzf ../setup-dir/ gcc-g++2.95.3.tar.gz
cd ../build-dir/build-gcc
export CC=gcc
../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \
–enable-language=c,c++
然後修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在
TARGET_LIBGCC2_CFLAGS中去除如下兩個定義
-Dinhibit-libc –D__gthr_posix_h
make
make install
7,至此我們成功的創建了ARM Linux的交叉編譯工具。
------------------------------------------------------
可以去www.arm16.com看看
I. Linux系統中如何安裝交叉編譯器
交叉編譯器通常以 arm-none-linux-gnueabi.tar.bz2 這樣的名稱發布(不同廠家的不同開發平台,交叉編譯工具鏈的實際名稱可能有所差別,請以實際為准),解壓命令:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2
如果希望解壓到一個指定的目錄,可以先將 arm-none-linux-gnueabi.tar.bz2 壓縮包復制到目標目錄,然後進入目標目錄再運行解壓命令,也可以在任意目錄解壓,通過-C 指定目標目錄。假定希望解壓到「/home/ctools/」目錄,則命令如下:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 -C /home/ctools/
在終端中添加環境變數,需要每次打開終端都設置,也很麻煩。可以考慮將設置的過程添加到系統配置文件中。/etc/profile 是系統全局的配置文件,在該文件中設置交叉編譯器的路徑,能夠讓登錄本機的全部用戶都可以使用這個編譯器。
打開終端,輸入「sudo vi /etc/profile」命令,打開/etc/profile 文件,在文件末尾添加:
export PATH=$PATH:/home/ctools/arm-2011.03/bin/
然後輸入「. /etc/profile」(點+空格+文件名),執行 profile 文件,使剛才的改動生效。如果沒有書寫錯誤,此時打開終端,輸入 arm-none-linux-gnueabi-,然後按鍵盤 TAB 鍵,同樣可以看到很多 arm-none-linux-gnueabi-開頭的命令。
這些周立功那邊很多的,不知道你有沒去看過。
J. ubuntu怎麼安裝交叉編譯工具鏈
. 解壓 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
在最後加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
export PATH