在http://wiki.lemote.com/index.php?title=%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E8%AE%BE%E7%BD%AE
里面有一个链接,https://heiher.info/916.html,告诉我们怎么制作龙芯内核的交叉编译环境,但是在编译的过程中却出现了一些问题,
先将编译的具体方法贴出来:
先下载 Binutils 2.20 和 GCC Core 4.4.2。
Binutils 2.20: http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2
Binutils 2.20 Loongson2f 补丁: http://heiher.info/sftp/files/binutils-2.20-loongson2f.patch
GCC Core: http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-core-4.4.2.tar.bz2
设置环境变量和新建目录
$ mkdir -p /opt/loongson-cross-tools/usr/{bin, lib, share}
$ echo "PATH=$PATH:/opt/loongson-cross-tools/usr/bin" >> ~/.bashrc
编译 Binutils:
$ tar xjf binutils-2.20.tar.bz2
$ cd binutils-2.20
$ patch -Np1 -i ../binutils-2.20-loongson2f.patch
$ cd .. && mkdir binutils-build && cd binutils-build
$ ../binutils-2.20/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --enable-64-bit-bfd --disable-nls --enable-shared
$ make configure-host
$ make
$ make install
编译 GCC:
$ tar xjf gcc-core-4.4.2.tar.bz2
$ mkdir gcc-build && cd gcc-build
$ ../gcc-4.4.2/configure --prefix=/opt/loongson-cross-tools/usr --target=mipsel-pc-linux-gnu --with-sysroot=/opt/loongson-cross-tools --disable-multilib --with-newlib --disable-nls --disable-shared --disable-threads --enable-languages=c --with-abi=64
$ make all-gcc
$ make all-target-libgcc
$ make install-gcc
$ make install-target-libgcc
在编译的过程中遇到了下列问题:
1、在ubuntu 9.10系统中编译会出现:
ar: symbol lookup error: ar: undefined symbol: bfd_plugin_set_program_name
make[4]: *** [libbfd.la] 错误 127
换用ununtu 10.04即可解决问题