详细步骤(1)
分布构建交叉编译链的具体步骤如下。
1. 建立工作目录
首先建立工作目录,建立工作目录以存放所需要的文件,有利于文件的分类和管理。创建目录使用mkdir命令进行。这里目录名的选择可根据需要选择。以下所建立的目录是作者自定义的,由于当前的用户定义为arm,因此用户目录为/home/arm,在用户目录下首先建立一个工作目录(armlinux),建立工作目录的命令行操作如下。
# cd /home/arm
# mkdir armlinux
再在这个工作目录armlinux下建立三个目录build-tools、kernel和tools。具体操作如下。
# cd armlinux
# mkdir build-tools kernel tools
其中各目录的作用如下。
build-tools用来存放下载的binutils、gcc、glibc等源代码和用来编译这些源代码的目录。
kernel用来存放内核源代码。
tools用来存放编译好的交叉编译工具和库文件。
2. 建立环境变量
建立环境变量主要是用来将其定义为经常使用的路径,这是Linux系统命令中的一大优点。可利用环境变量直接代表路径,这样可以避免重复输入冗长的命令,简化输入过程,尤其可以降低输错路径的概率。下面用"PRJROOT"代表"/home/arm/armlinux","TARGET"代表"arm-linux","PREFIX"代表"/home/arm/armlinux/tools","TARGET_PREFIX"代表"/home/arm/armlinux/tools/arm-linux","PATH"代表在原有PATH变量之前添加路径"/home/arm/armlinux/tools/bin:"。
# export PRJROOT=/home/arm/armlinux
# export TARGET=arm-linux
# export PREFIX=$PRJROOT/tools
# export TARGET_PREFIX=$PREFIX/$TARGET
# export PATH=$PREFIX/bin:$PATH
这里需要注意的是,用export声明的变量是临时的变量,当注销或更换了控制台时,这些环境变量就不存在了。如果还需要使用这些环境变量就必须重复进行export设置。但是可以将环境变量定义在bashrc文件中,这样当注销或更换控制台时,这些变量就一直有效,就不用再重新设置了。
3. 编译、安装Binutils
Binutils是GNU工具之一,它包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。安装Binutils工具包含的程序有addr2line、ar、as、c++filt、gprof、ld、nm、objcopy、objdump、ranlib、readelf、size、strings、strip、libiberty、libbfd和libopcodes。对这些程序的简单解释如表6-2所示。
表6-2 Binutils工具集
程序名
解释
addr2line
把程序地址转换为文件名和行号。在命令行中
给它一个地址和一个可执行文件名,它就会使
嵌入式linux交叉编译工具连详细制作过程 来自淘豆网www.taodocs.com转载请标明出处.