前言
需要在目标板上移植linu-3.08内核及目标板上跑应用程序,在 ubuntu14.04 64位系统上建立交叉编译环境。参考wyjkk博文
http://blog.csdn.net/wyjkk/article/details/5792048。将成功制作的整个过程记录如下:
编译环境:
内核名称:Linux硬件架构名称:i686
硬件平台:i386
操作系统:Ubuntu 14.04 LST
当前系统安装的gcc版本号:4.8.2
1.下载源码包和补丁包
gcc-4.8.2.tar.bz2
glibc-2.18.tar.bz2
glibc-linuxthreads-2.5.tar.bz2
gdb-7.7.tar.bz2
linux-3.0.8.tar.gz
mpfr-3.1.2.tar.bz2
mpc-1.0.1.tar.gz
gmp-5.1.3.tar.bz2
2.准备软件环境
#sudoapt-get install xz-utils
#sudo apt-get install m4
#sudo apt-getinstall libncurses-dev
#apt-get install g++(系统已经安装4.8.2版)
#sudo apt-getinstall gawk
3.为宿主机安装mpfr、mpc、gmp(之前有安装过这三个库,此步可略过)
#tar-xjvf gmp-5.1.3.tar.bz2
#cd gmp-5.1.3
#mkdir build
#cdbuild
#../configure --prefix=/usr/local/gmp--build=x86_64-linux-gnu
#make
#sudo make install
#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
#sudo make install
#tar-xzvf mpc-1.0.1.tar.gz
#cd mpc-1.0.1
#mkdir build
#cdbuild
#../configure --build=x86_64-linux-gnu--prefix=/usr/local/mpc --with-gmp=/usr/local/gmp--with-mpfr=/usr/local/mpfr
#make
#sudo make install
make 出现错误:error:libmpfr not found or uses a different ABI (including static vsshared).
解决:apt-getinstall libmpfr-dev
4.建立工作目录
自己选一个合适的地方,建立一个总文件夹Embedded,并且在其下建立build-tools、kernel和tools三个子文件夹、我们以后的操作就都在这里进行了。
$mkdir Embedded
$cd Embedded
$mkdir build-tools kernel tool
$ls
build-tools kernel tool
各文件夹作用如下:
build-tools: 保存binutils、gcc和glibc的源代码和用来编译这些源代码的目录。
kernel : 保存内核源代码和补丁。
tools : 保存编译好的交叉编译工具和库文件。
然后在build-tools文件夹中建立如下子文件夹:
$cd build-tools
$mkdir build-binutils build-boot-gcc build-glibc build-gcc
build-binutils :编译binutils的目录
build-boot-gcc:编译gcc启动部分的目录
build-glibc