交叉编译龙芯版本内核

 

依据内核系统的自带的默认龙芯配置,编译系统内核3.10,配置文件:
arch/mips/configs/fuloong2e_defconfig


交叉编译工具链4.9.3 rc6.1版本,下载地址如下:

http://ftp.loongnix.org/toolchain/gcc/release/cross-gcc-4.9.3-n64-loongson-rc6.1.tar.bz2

本地编译环境:
$ cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 


编译工具链配置:

# tar -xf cross-gcc-4.9.3-n64-loongson-rc6.1.tar.bz2 -C /opt
# cd /opt/cross-gcc-4.9.3-n64-loongson-rc6.1/
# source ./setenv.sh

SHELL脚本执行之后,在环境变量中修改了LD_LIBRARY_PATH和PATH两个变量的值,其中LD链接库路径增加了龙芯的目录,PATH路径中增加了龙芯的bin目录:

# env
LD_LIBRARY_PATH=/opt/cross-gcc-4.9.3-n64-loongson-rc6.1/usr/x86_64-unknown-linux-gnu/mips64el-loongson-linux/lib/:/opt/cross-gcc-4.9.3-n64-loongson-rc6.1/usr/lib:
PATH=/opt/cross-gcc-4.9.3-n64-loongson-rc6.1/usr/bin:$PATH
#

编译环境准备完成。


内核配置部分,由于kernel的Makefile文件默认使用uname命令获取和使用当前系统的处理器类型,导致不能进行交叉编译,进行如下修改:

#ARCH       ?= $(SUBARCH)
#CROSS_COMPILE  ?= $(CONFIG_CROSS_COMPILE:"%"=%)
ARCH        ?= mips
CROSS_COMPILE   ?= mips64el-loongson-linux-

之后配置默认的龙芯配置文件:

$ cd linux-3.10/
$ make fuloong2e_defconfig

之后使用make menuconfig命令修改内核配置文件,进行编译:

make vmlinux

 

你可能感兴趣的:(系统其它)