歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 8.04下安裝arm-linux-gcc

Ubuntu 8.04下安裝arm-linux-gcc

日期:2017/2/28 16:53:23   编辑:Linux教程

由於先前使用的RedHat 9對新硬件的支持不好,所以准備轉向了Ubuntu了。用了一天的時間終於搞定了arm-linux-gcc的安裝。之前的幾次失敗經驗就不再羅嗦了,直入正題。注意:下面所有的youname需要用實際的用戶名替代。

1.准備以下軟件包:
crosstool-0.42.tar.gz(必須)
以下軟件包可選則下載(因為corsstool在安裝過程中回自動下載)
gcc-3.3.6.tar.bz2
binutils-2.15.tar.bz2
linux-2.6.10.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
linux-2.6.10.tar.gz

2.將crosstool-0.42.tar.gz放在$home目錄下
cd $home
mkdir downloads
將以下包放在新建的downloads目錄下(也可以空著,cross_tool會自動從網上下載)
gcc-3.3.6.tar.bz2
binutils-2.15.tar.bz2
linux-2.6.10.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
linux-2.6.10.tar.gz
sudo mkdir /opt/crosstool
sudo chown youname /opt/crosstool
tar -xvzf crosstool-0.42.tar.gz
cd crosstool-0.42
cp demo-arm.sh arm.sh
vi arm.sh
修改arm.sh,內容如下:
#!/bin/sh
set -ex
TARBALLS_DIR=$home/downloads
RESULT_TOP=/opt/crosstool
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
mkdir -p $RESULT_TOP
eval `cat arm.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest --nounpack
echo Done.
vi arm.dat
修改arm.dat,內容如下:
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O"
vi gcc-3.3.6-glibc-2.3.2.dat
修改arm.dat,內容如下:
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.3.6
GLIBC_DIR=glibc-2.3.2
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
LINUX_DIR=linux-2.6.10
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0

3.獲得必要軟件包
sudo apt-get install build-essential bison flex
sudo apt-get install gcc-3.4
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-3.4 /usr/bin/gcc
注意:此處用gcc-3.4替代了系統自帶編譯器,待安裝後可以用同樣方法改回來

4.安裝(會出錯)
./arm.sh

5.修改文件
vi $home/crosstool-0.42/build/arm-linux/gcc-3.3.6-glibc-2.3.2/build-glibc/csu/version_info.h
修改version_info.h文件,內容如下:
"Compiled on a Linux >>2.6.24-19-generic<< system on 2008-10-11."
"Available extensions:"
"GNU libio by Per Bothner\n"
"crypt add-on version 2.1 by Michael Glad and others\n"
"linuxthreads-0.10 by Xavier Leroy\n"
"BIND-8.2.3-T5B\n"
"libthread_db work sponsored by Alpha Processor Inc\n"
"NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk\n"

6.再次安裝(時間較長)
./arm.sh
export PATH=/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin:$PATH
sudo vi /etc/bash.bashrc
在文件最後一行加入:
export PATH=/opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin:$PATH

7.安裝完畢
cd /opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin
ls

備注:
1.上述4,5,6步驟可以變通一下,手動將glibc-2.3.2.tar.gz解壓,修改version_info.h文件後再編譯
2.如果采用不同版本軟件包可以參看http://kegel.com/crosstool/crosstool-0.43/buildlogs/
3.本方法參考了網上一些資料,對這些資料的作者表示感謝!

Copyright © Linux教程網 All Rights Reserved