安装arm linux gcc(Linux开发板)

很多朋友对于安装arm linux gcc和Linux开发板不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

怎么安装arm-linux-gcc4.8

CrossBuild很蛋疼的,以目标内核2.6.x为例,我们需要以下基本包:

binutils-2.23.1.tar.bz2

gcc-4.8.2.tar.bz2

glibc-2.18.tar.bz2

glibc-linuxthreads-2.5.tar.bz2

gdb-7.6.1.tar.bz2

linux-2.6.34.14.tar.xz

mpfr-3.1.2.tar.bz2

mpc-1.0.1.tar.gz

gmp-5.1.3.tar.bz2

因为编译过程很费时,你要在bash配置文件中直接声明环境变量:

vim~/.bashrc

export TARGET=arm-linux-gnueabi

export PREFIX=/usr/local/arm/4.8.2

export TARGET_PREFIX=$PREFIX/$TARGET

export PATH=$PATH:$PREFIX/bin

#source~/.bashrc

以便下次工作继续恢复现场。

工具链创建:

先来安装mpfr、mpc、gmp。#号表示在root下工作。

#tar-xjf gmp-5.1.3.tar.bz2&&cd gmp-5.1.3

#mkdir build&& cd build&&\

../configure--prefix=/usr/local/gmp--build=x86_64-linux-gnu&&\

make&& make install

OK,gmp done,Next,搞搞mpfr:

#tar-xjvf mpfr-3.1.2.tar.bz2&& cd mpfr-3.1.2

#../configure--build=x86_64-linux-gnu--prefix=/usr/local/mpfr--with-gmp=/usr/local/gmp&&\

make&&make install

OK, mpfr done, Next we build mpc:

#tar-xzvf mpc-1.0.1.tar.gz&& cd mpc-1.0.1

mkdir build&& cd build

#../configure--build=x86_64-linux-gnu--prefix=/usr/local/mpc--with-gmp=/usr/local/gmp--with-mpfr=/usr/local/mpfr&&\

make&&make install

After, we need to copy linux-kernel-headers:

xz-d linux-2.6.34.14.tar.xz

tar-xvf linux-2.6.34.14.tar

cd linux-2.6.34.14

make menuconfig

这里我们不作任何个性,直接保存退出。

#make include/linux/version.h

#mkdir-p$TARGET_PREFIX/include

#cp-r./include/linux/$TARGET_PREFIX/include

#cp-r./include/asm-generic/$TARGET_PREFIX/include

#cp-r./arch/arm/include/asm/$TARGET_PREFIX/include

然后编译binutils:

#tar-xjvf binutils-2.23.1.tar.bz2

#cd binutils-2.23.1

#mkdir build&& cd build

#../configure--prefix=$PREFIX--target=$TARGET

#make

#make install

$TARGET得到一大堆工具,我就不一一介绍了。

接下来为ARM平台编译不带链接库的原初编译器,这一步称作恐龙蛋生小鸡。

解开tar-xjvf gcc-4.8.2.tar.bz2,并把mpfr-3.1.2.tar.bz2、mpc-1.0.1.tar.gz、gmp-5.1.3.tar.bz2也解开,去掉版本号放到gcc源目录下。

先删除 gcc下上述几个包,如果存在的话:

rm-rf mpfr-3.1.2 mpc-1.0.1 gmp-5.1.3

然后解包,并移入gcc下:

#tar-xjvf gmp-5.1.3.tar.bz2

#mv gmp-5.1.3 gmp

#mv./gmp./gcc-4.8.2

#tar-xjvf mpfr-3.1.2.tar.bz2

#mv mpfr-3.1.2 mpfr

#mv./mpfr./gcc-4.8.2

#tar-xzvf mpc-1.0.1.tar.gz

#mv mpc-1.0.1 mpc

#mv./mpc./gcc-4.8.2

可以编译gcc了:

#cd gcc-4.8.2

#mkdir build&& cd build

#../configure--prefix=$PREFIX--target=$TARGET--without-headers--enable-languages=c--disable-threads--with-newlib--disable-shared--disable-libmudflap--disable-libssp--disable-decimal-float&&\

make all-gcc&& make install-gcc&& make all-target-libgcc&&\

make install-target-libgcc

如果没出错的话,这里的预编译就快搞好了,擦把汗先。

#tar-xvf glibc-2.18.tar.xz

#tar-xvf glibc-linuxthreads-2.5.tar.bz2--directory=./glibc-2.18

# cd glibc-2.18

# mkdir build

# cd build

# CC=$TARGET-gcc

#export CFLAGS="-g-O2-march=arm"

# ln-s/usr/local/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2/libgcc.a/usr/local/arm/4.8.2/lib/gcc/arm-linux-gnueabi/4.8.2/libgcc_eh.a

这里编译好的glibc就是for arm的glibc了。

创建config.cache配置文件

# vim config.cache

libc_cv_forced_unwind=yes

libc_cv_c_cleanup=yes

libc_cv_arm_tls=yes

#../configure--host=$TARGET--target=$TARGET--prefix=$TARGET_PREFIX--enable-add-ons--disable-profile--cache-file=config.cache--with-binutils=$PREFIX/bin--with-headers=$TARGET_PREFIX/include

#make all

#make install

预编译环境搭好,我擦已经下班了,明天继续。

好了,为正式开始 arm铸刀:

# cd gcc-4.8.2/build/

# rm-rf*

#../configure--prefix=$PREFIX--target=$TARGET--enable-shared--enable-languages=c,c++

# make

# make install

这就是arm版的gcc了

编译gdb

# tar-xvf gdb-7.6.1.tar.bz2

# make

# make install

创建链接

# cd$PREFIX/bin

# ln-s arm-linux-gnueabi-addr2line arm-linux-addr2line

# ln-s arm-linux-gnueabi-ar arm-linux-ar

# ln-s arm-linux-gnueabi-as arm-linux-as

# ln-s arm-linux-gnueabi-c++ arm-linux-c++

# ln-s arm-linux-gnueabi-c++filt arm-linux-c++filt

# ln-s arm-linux-gnueabi-cpp arm-linux-cpp

# ln-s arm-linux-gnueabi-elfedit arm-linux-elfedit

# ln-s arm-linux-gnueabi-g++ arm-linux-g++

# ln-s arm-linux-gnueabi-gcc arm-linux-gcc

# ln-s arm-linux-gnueabi-gcc-4.6.3 arm-linux-gcc-4.6.3

# ln-s arm-linux-gnueabi-gcov arm-linux-gcov

# ln-s arm-linux-gnueabi-gdb arm-linux-gdb

# ln-s arm-linux-gnueabi-gdbtui arm-linux-gdbtui

# ln-s arm-linux-gnueabi-gprof arm-linux-gprof

# ln-s arm-linux-gnueabi-ld arm-linux-ld

# ln-s arm-linux-gnueabi-ld.bfd arm-linux-ld.bfd

# ln-s arm-linux-gnueabi-nm arm-linux-nm

# ln-s arm-linux-gnueabi-objcopy arm-linux-objcopy

# ln-s arm-linux-gnueabi-objdump arm-linux-objdump

# ln-s arm-linux-gnueabi-ranlib arm-linux-ranlib

# ln-s arm-linux-gnueabi-readelf arm-linux-readelf

# ln-s arm-linux-gnueabi-run arm-linux-run

# ln-s arm-linux-gnueabi-size arm-linux-size

# ln-s arm-linux-gnueabi-strings arm-linux-strings

# ln-s arm-linux-gnueabi-strip arm-linux-strip

这把可以杀人了,开始为你树莓派编译软件吧。

ubuntu下怎么安装arm-linux-gcc

1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是/home/song/software,如下图,记住这个路径,等会还会用到。

2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图

通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住,如下图

3、接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim/etc/profile编辑profile文件,添加环境变量。

在profile中最后一行添加: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行

编写完保存就好了

4、使用命令:source/etc/profile使环境变量生效

5、在终端上输入命令 arm-linux再按Tab键,可以显示出命令列表,说明环境变量设置成功了

6、使用命令:arm-linux-gcc-v会出现下面的错误提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

说是出现这种问题的原因是由于Ubuntu12.04用的是64位的,解决方法就是使用命令:sudo apt-get install ia32-libs装一些32位的库

7、待安装完32位的库之后,再使用命令:arm-linux-gcc-v,这一次就成功了

8、验证,编译一个hello.c文件

使用命令:arm-linux-gcc hello.c-o hello看是否编译成功

如何安装arm-linux-gcc

1、首先以root用户登入

2、复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里

3、解压命令tar xvzf arm-linux-gcc-4.3.2-C/

注意以上命令必须要有-C而且是大写,后边有个空格也要注意。

4、配置下编译环境路径在控制台下输入 gedit/root/.bashrc等一会出来文本编辑器后在文件最后(最后一行)加上下面代码。

export PATH=/usr/local/arm/4.3.2/bin:$PATH

保存关闭后,注销当前用户,用root账号重新登录系统(使刚刚添加的环境变量生效)。

此时你可以在控制台输入: arm-linux-gcc-v如果安装成功将会输出 arm-linux-gcc的版本号。

若想让它在非超级用户下使用那。首先,以非超级用户登入。

1、输入命令:vi~/.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容

export PATH=/usr/local/arm/4.3.2/bin:$PATH

2、输入命令:gedit/etc/profile

在文件的末尾加上:PATH=/usr/local/arm/4.3.2/bin:$PATH

保存对profile的修改后,执行source/etc/profile就OK了,好了通样先注销当前用户再登录后进入控制台执行arm-linux-gcc-v看看能否执行成功就可以了。

需要解决更多linux问题,详情请看

望采纳

阅读剩余
THE END