步骤1:打开虚拟机,在/usr/local/下创建/usr/local/arm文件夹
root@xfj-virtual-machine:/home/xfj# cd /usr/local/ //1
root@xfj-virtual-machine:/usr/local# mkdir arm //2
root@xfj-virtual-machine:/usr/local# cd arm //3
root@xfj-virtual-machine:/usr/local/arm# pwd
/usr/local/arm
步骤2:先将安装包从Windows中弄到linux中去。可以用共享文件夹,也可以用Samba,也可以cuteftp。(这里用的共享文件夹)
(1)winshare中首先放入arm-2009q3.tar文件。

(2)进入/usr/local/arm目录下,将其文件复制到此目录
root@xfj-virtual-machine:/usr/local/arm# cp /mnt/hgfs/winshare/arm-2009q3.tar.bz2 /usr/local/arm //1
root@xfj-virtual-machine:/usr/local/arm# ls
arm-2009q3.tar.bz2 //出现,复制成功
步骤3:解压。tar -jxvf arm-2009q3.tar.bz2
// 在此目录下
root@xfj-virtual-machine:/usr/local/arm# pwd
/usr/local/arm
root@xfj-virtual-machine:/usr/local/arm# tar -jxvf arm-2009q3.tar.bz2 //1
步骤4:验证安装是否成功
//1.到达此目录下
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# pwd
/usr/local/arm/arm-2009q3/bin
//2.执行方法是:./arm-none-linux-gnueabi-gcc -v;
//执行后可以得到一长串输出,其中有“gcc version 4.4.1 ”字样,即表示安装成功。
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# ./arm-none-linux-gnueabi-gcc -v
bash: ./arm-none-linux-gnueabi-gcc: 没有那个文件或目录
//此时显示没有此文件,但是确实有这个文件,接下来进行解决此问题
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# ls
arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-g++ arm-none-linux-gnueabi-gprof arm-none-linux-gnueabi-readelf
arm-none-linux-gnueabi-ar arm-none-linux-gnueabi-gcc arm-none-linux-gnueabi-ld arm-none-linux-gnueabi-size
arm-none-linux-gnueabi-as arm-none-linux-gnueabi-gcc-4.4.1 arm-none-linux-gnueabi-nm arm-none-linux-gnueabi-sprite
arm-none-linux-gnueabi-c++ arm-none-linux-gnueabi-gcov arm-none-linux-gnueabi-objcopy arm-none-linux-gnueabi-strings
arm-none-linux-gnueabi-c++filt arm-none-linux-gnueabi-gdb arm-none-linux-gnueabi-objdump arm-none-linux-gnueabi-strip
arm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-gdbtui arm-none-linux-gnueabi-ranlib
步骤5:产生上述原因为64位的系统运行32位的程序需要安装32位的运行库(我的ubuntu为18.04)。解决方法:在普通用户模式下执行 sudo apt-get install lib32ncurses5 lib32z1 命令或在特权模式下执行 apt-get install lib32ncurses5 lib32z1 安装32位依赖库。
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# apt-get install lib32ncurses5 lib32z1 //执行此命令即可
步骤6:此时验证即可通过
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# ./arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q3-67' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) //成功的标志
步骤7,将工具链导出环境变量
root@xfj-virtual-machine:~# cd /root //进入此目录
root@xfj-virtual-machine:~# ls -al
总用量 28
drwx------ 3 root root 4096 5月 11 22:33 .
drwxr-xr-x 26 root root 4096 5月 11 23:13 ..
-rw------- 1 root root 698 5月 11 22:37 .bash_history
-rw-r--r-- 1 root root 3106 4月 9 2018 .bashrc
drwx------ 2 root root 4096 7月 25 2018 .cache
-rw-r--r-- 1 root root 148 8月 17 2015 .profile
-rw------- 1 root root 2701 5月 11 22:33 .viminfo
root@xfj-virtual-machine:~# vim .bashrc //回车
//在此文件的最后一行添加以下内容
//注意:我们导出这个环境变量是在当前用户,如果你登录时在其他用户下是没用的。
//注意:等号前后没有空格
#******************************************************************************
#添加的内容2021-5-11
export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
#*****************************************************************************
//添加完之后
root@xfj-virtual-machine:~# source .bashrc //运行
root@xfj-virtual-machine:~# echo $PATH //验证
/usr/local/arm/arm-2009q3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
步骤7:为工具链创建arm-linux-xxx符号链接
创建一个脚本文件:mk-arm-linux-.sh
里面内容如下
ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line
ln arm-none-linux-gnueabi-ar -s arm-linux-ar
ln arm-none-linux-gnueabi-as -s arm-linux-as
ln arm-none-linux-gnueabi-c++ -s arm-linux-c++
ln arm-none-linux-gnueabi-c++filt -s arm-linux-c++filt
ln arm-none-linux-gnueabi-cpp -s arm-linux-cpp
ln arm-none-linux-gnueabi-g++ -s arm-linux-g++
ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc
ln arm-none-linux-gnueabi-gcc-4.4.1 -s arm-linux-gcc-4.4.1
ln arm-none-linux-gnueabi-gcov -s arm-linux-gcov
ln arm-none-linux-gnueabi-gdb -s arm-linux-gdb
ln arm-none-linux-gnueabi-gdbtui -s arm-linux-gdbtui
ln arm-none-linux-gnueabi-gprof -s arm-linux-gprof
ln arm-none-linux-gnueabi-ld -s arm-linux-ld
ln arm-none-linux-gnueabi-nm -s arm-linux-nm
ln arm-none-linux-gnueabi-objcopy -s arm-linux-objcopy
ln arm-none-linux-gnueabi-objdump -s arm-linux-objdump
ln arm-none-linux-gnueabi-ranlib -s arm-linux-ranlib
ln arm-none-linux-gnueabi-readelf -s arm-linux-readelf
ln arm-none-linux-gnueabi-size -s arm-linux-size
ln arm-none-linux-gnueabi-sprite -s arm-linux-sprite
ln arm-none-linux-gnueabi-strings -s arm-linux-strings
ln arm-none-linux-gnueabi-strip -s arm-linux-strip
//然后在此目录下执行
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# pwd
/usr/local/arm/arm-2009q3/bin
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# source mk-arm-linux-.sh //执行
//结果如下
root@xfj-virtual-machine:/usr/local/arm/arm-2009q3/bin# ls
arm-linux-addr2line arm-linux-gdb arm-linux-sprite arm-none-linux-gnueabi-gcc arm-none-linux-gnueabi-ranlib
arm-linux-ar arm-linux-gdbtui arm-linux-strings arm-none-linux-gnueabi-gcc-4.4.1 arm-none-linux-gnueabi-readelf
arm-linux-as arm-linux-gprof arm-linux-strip arm-none-linux-gnueabi-gcov arm-none-linux-gnueabi-size
arm-linux-c++ arm-linux-ld arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-gdb arm-none-linux-gnueabi-sprite
arm-linux-c++filt arm-linux-nm arm-none-linux-gnueabi-ar arm-none-linux-gnueabi-gdbtui arm-none-linux-gnueabi-strings
arm-linux-cpp arm-linux-objcopy arm-none-linux-gnueabi-as arm-none-linux-gnueabi-gprof arm-none-linux-gnueabi-strip
arm-linux-g++ arm-linux-objdump arm-none-linux-gnueabi-c++ arm-none-linux-gnueabi-ld mk-arm-linux-.sh
arm-linux-gcc arm-linux-ranlib arm-none-linux-gnueabi-c++filt arm-none-linux-gnueabi-nm
arm-linux-gcc-4.4.1 arm-linux-readelf arm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-objcopy
arm-linux-gcov arm-linux-size arm-none-linux-gnueabi-g++ arm-none-linux-gnueabi-objdump
//结束
2140

被折叠的 条评论
为什么被折叠?



