如何在 Unix 体验中心服务器上创建内核交叉编译环境

Unix 体验中心(http://www.unix-center.net)是一个免费的 Unix 类系统体验和测试平台,它支持SSH和VNC两种登录方式。它的服务器性能也是不错的,用来交叉编译Linux内核对机器性能(例如我的龙芯笔记本)不是很好的用户来说是一个非常不错的选择。下面我们就来说说如何在它的服务器上建立一个内核交叉编译环境。

1. 在 Unix 体验中心申请一个帐号

2. 选择一个服务器,这里我推荐 Ubuntu (ubuntu.unix-center.net)。

3. 如果你使用的是 Windows 系统,下载SSH客户端程序(PuTTY),Linux 用户安装 OpenSSH

4. 登录服务器(具体用户看PuTTY或OpenSSH帮助文档)。

5. 配置用户的环境变量(第一次配置,以后不用)。

$ vim $HOME/.bashrc

内容如下

# .bashrc
 
export CROSS_TOOLS_DIR=/tmp/$USER/cross_tools
export PATH=$PATH:$CROSS_TOOLS_DIR/usr/bin
export LD_LIBRARY_PATH=$CROSS_TOOLS_DIR/usr/lib
 
alias ls='ls --color=auto'
 
cd $HOME

6. 由于每个用户的$HOME目录只有 100MB 的容量,所以只有在 /tmp 目录里创建工作目录(因为这里是不限制的,但服务器重启就没有了,所以我们的解决办法是把编译的环境打包存储在$HOME里,使用是释放)。

mkdir -pv $CROSS_TOOLS_DIR/usr/{bin,sbin,share,lib,man,info}

7. 下载 Binutils 和 GCC。

$ cd /tmp/$USER
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.19.1.tar.bz2
$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.4.1/gcc-core-4.4.1.tar.bz2
$ tar xjf binutils-2.19.1.tar.bz2
$ tar xjf gcc-core-4.4.1.tar.bz2

8. 下载、安装 MPFR。

$ cd /tmp/$USER
$ wget http://kr.archive.ubuntu.com/ubuntu/pool/main/m/mpfr/libmpfr-dev_2.3.2.dfsg.1-1ubuntu1_amd64.deb
$ wget http://kr.archive.ubuntu.com/ubuntu/pool/main/m/mpfr/libmpfr1ldbl_2.3.2.dfsg.1-1ubuntu1_amd64.deb
$ dpkg -x libmpfr-dev_2.3.2.dfsg.1-1ubuntu1_amd64.deb cross_tools
$ dpkg -x libmpfr1ldbl_2.3.2.dfsg.1-1ubuntu1_amd64.deb cross_tools

9. 配置、编译和安装 Binutils。

$ cd /tmp/$USER/binutils-2.19.1
$ ./configure --prefix=$CROSS_TOOLS_DIR/usr --target=mips64el-unknown-linux-gnu --with-sysroot=$CROSS_TOOLS_DIR --enable-64-bit-bfd --disable-nls --enable-shared
$ make configure-host
$ make
$ make install

10. 配置、编译和安装 GCC。

$ cd /tmp/$USER/gcc-4.4.1
$ ./configure --prefix=$CROSS_TOOLS_DIR/usr --target=mips64el-unknown-linux-gnu --with-sysroot=$CROSS_TOOLS_DIR --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64 --with-mpfr-include=$CROSS_TOOLS_DIR/usr/include --with-mpfr-lib=$CROSS_TOOLS_DIR/usr/lib
$ make all-gcc
$ make all-target-libgcc
$ make install-gcc
$ make install-target-libgcc

11. 打包、备份工具链。

$ cd /tmp/$USER
$ tar cjf $HOME/cross_tools.tar.bz2 cross_tools

12. 下次登录时如果 /tmp/$USER 已经不存在,使用如下命令。

$ cd $HOME
$ tar xjf $cross_tools.tar.bz2 -C /tmp/$USER

如果你不想自己编译可以使用我制作好的交叉编译工具链,下载地址 http://www.heiher.info/service/projects/loongson2f-kernel-cross-compiler/

One thought on “如何在 Unix 体验中心服务器上创建内核交叉编译环境”

Leave a Reply

Your email address will not be published. Required fields are marked *