[Linux】安装Linux的交叉编译工具链
1、linux中装软件的特点
linux中安装软件比windows中复杂。linux中安装软件一般有以下几种方法:
第一种:在线安装。譬如ubuntu中使用apt-get install vim来安装vim软件。
第二种:自己下载安装包来安装。这种方式的缺陷就是你不知道你下载的安装包和你的系统是否匹配。
第三种:最装逼的一种方式,就是源代码安装。
总结:我们安装交叉编译工具链(arm-linux-gcc)实际采用第二种安装方式。
2、s5pv210交叉编译工具链版本的选择
解压后形式: arm-2009q3(三星官方);解压前形式:arm-2009q3.tar.bz2
3、交叉编译工具链的安装步骤
步骤1:打开虚拟机,在/usr/local/下创建/usr/local/arm文件夹【注意需要用sudo才能创建,否则不能创建,如下图】
步骤2:先将安装包 arm-2009q3.tar.bz2从Windows中弄到ubuntu中去(此处使用共享文件夹)
步骤3:复制。在ubuntu中进入到/usr/local/arm/所在的目录, 通过命令sudo cp /mnt/hgfs/linuxshare/arm-2009q3.tar.bz2 ./将arm-2009q3.tar.bz2复制到arm目录下。
从上图可以看到,已经复制成功。【注意】这里需要使用sudo权限如上图操作,且需要特别注意格式,注意点号“.”后面需要有“/”,即用“./”表示当前目录。
步骤4:解压。复制结束之后,在/usr/local/arm/目录下使用tar -jxv命令解压安转包,解压指令如下:tar -jxvf arm-2009q3.tar.bz2。按回车键后让ubnutu自动安装直到安装完毕(真正的应用程序安装在/usr/local/arm/arm-2009q3/bin目录下),遇到一个问题,使用解压命令tar -jxvf arm-2009q3.tar.bz2无法解压成功,怎么办呢?解决方法:在解压命令前面加上sudo即可解决。解压成功的标志是,在arm目录下可以看到arm-2009q3这个文件夹,如下图:
到此为止交叉编译链已经安装成功,因为这是一个绿色软件,解压后可以直接使用。真正的应用程序的安装目录下(/usr/local/arm/arm-2009q3/bin)
【补充】使用命令:sudo su root 可以进入root权限
步骤5:到真正的应用程序的安装目录下(也就是/usr/local/arm/arm-2009q3/bin),进入目录看到如下:
上面看到的绿色的“arm-none-linux-gnueabi-gcc”便是交叉工具编译链,这是编写这个交叉工具编译链的创造者起的名字,但是为了方便我们习惯把它缩短一些,统称叫“arm-linux-gcc”,这也是后面会谈到的“为工具链创建arm-linux-xxx符号链接”
4、安装后的测试
安装完之后现在测试一下安装的交叉工具编译链能不能用。到目录/usr/local/arm/arm-2009q3/bin,执行一下安装的编译链
执行方法是:./arm-none-linux-gnueabi-gcc -v
(说明:-v是参数,用来测试所安装的交叉工具编译链的版本)
执行后可以得到一长串输出,其中有“gcc version 4.4.1 ”字样,即表示安装成功。
5、为工具链创建arm-linux-xxx符号链接
sudo进入管理员权限后 ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line
【注意:上面用ln生成软连接是需要在管理员权限才可以】,生成的软连接(好比快捷方式)是左边蓝色一排
,
6、环境变量的意义
环境变量就是操作系统的全局变量。每一个环境变量对操作系统来说都是唯一的,名字和所代表的意义都是唯一的。linux系统可以有很多个环境变量。其中有一部分是linux系统自带的,还有一些是我们自己来扩充的。我们这里涉及到的一个环境变量是
PATH。PATH这个环境变量是系统自带的,它的含义就是系统在查找可执行程序时会搜索的路径范围。
【注意】需要在root用户下,在根目录上使用 echo $PATH 查看路径
7、将工具链导出到环境变量
export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
在一个终端中执行以上命令后,该终端中就可以直接使用arm-linux-gcc了,但是只要关掉这个终端再另外打开一个立马就不行了。原因是我们本次终端中执行时的操作只是针对本终端,以后再打开的终端并未被执行过这个命令所以没导出。
解决方案:如果要每次打开终端都可以看到这个环境变量,在~/.bashrc中,添加export PATH=/usr/local/arm/arm-2009q3/bin:$PATH 即可。
注意:我们导出这个环境变量是在当前用户,如果你登录时在其他用户下是没用的。
【linux中的目录管理方法】我们习惯在/bin(根目录的bin)目录下目录放置一些【系统自带的用户使用】的应用程序,/sbin(根目录的sbin)目录下存放的是【系统自带的系统管理方面】的应用程序。如下两个截图分别是/bin和/sbin中的部分截取,只是为了让大家看清楚linux目录管理的方法.
那我们装软件放在哪里?一般都在/usr目录下。我们安装arm-linux-gcc,就在/usr/local/底下创建一个arm文件夹,然后装到将要安装的软件装在arm里面。之所以起名为arm是因为我们现在做的都是arm开发。