loongson2f 64位内核编译

在文件/etc/apt/sources.list 添加源
http://dev.lemote.com/debian lenny main contrib non­free
http://dev.lemote.com/debian­loongson loongson main
安装编译工具:
apt­get install gcc

 

下载内核源码
git clone git://dev.lemote.com/linux_loongson.git  #将 git 仓库克隆下来
git checkout origin/linux­2.6.27.1­lemote –b linux­2.6.27.1­lemote  #使用 2.6.27.1 分支源码

 

使用默认配置编译
cp arch/mips/configs/ls2f_notebook_config .config  #使用 yeeloong 的默认配置
cp arch/mips/configs/ls2f_fuloong_defconfig .config  #如果为 fuloong2f 编译内核请使用这个配

置。


读入.config中的配置信息,生成以下的界面,可以手动的对kernel进行裁剪。例如可以选择把某个选项是编译进kernel,还是编译成模块的形式,也可以裁剪掉该选项等。
make CROSS_COMPILE=/home/liuqi/toolchain/gcc-cross-4.4/install/bin/mips64el-linux- (编译器路径)

交叉编译器下载地址:gcc编译器下载地址:http://www.loongson.cn/dev/ftp/toolchain/gcc/gcc4.4forKernel.tgz

在编译的过程中出错,第一个就是unrecognized option '-mfix-loongson2f-nop'

这个bug loongson已经解决了,用http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5636919b5c909fee54a6ef5226475ecae012ad02

地址处的5个文件替换原目录中文件


之后出现,undefined 的符号,修改delay.h , 在最后添加 #ifdef __SMP__
#define __udelay_val cpu_data[smp_processor_id()].udelay_val
#else
#define __udelay_val loops_per_sec
#endif


之后出现undefined symbol "loops_per_sec",在delay.h开头定义 unsigned long loops_per_sec

之后编译成功


make modules_install
执行该命令会把编译的模块安装到/usr/lib/modules/,由于我们是在x86服务器上交叉编译龙芯的kernel源码,所以不要执行该命令。可以创建一个目录,然后执行下面命令,就可以把编译的模块安装到自己指定的目录。
mkdir ~/mymodules
make modules_install INSTALL_MOD_PATH=~/mymodules



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值