制作Mips64el的cross compile toolchain

来源:互联网 发布:什么软件货源多 编辑:程序博客网 时间:2024/06/05 18:12

转载请注明原文出处:http://blog.csdn.net/roddick621


前一段时间需要制作一个mips64el的工具链,但是苦于网上资料太缺乏,而且本身水平有限,所以一直没有成功。


网上有很多制作Mips64el工具链的教程,不过都是n32的多,n64的少之又少(或许是我没有找到吧)


我试过在gentoo 用crossdev

也试过在debian下面用EmdebianToolchain


但是都无法建立出一个n64的工具链。

根据大牛的描述,修改crossdev的配置文件,是可以生成的,不过由于技术有限- -!一直修改失败。


前几天听导师说有一个工具crosstool-ng,可以生成我想要的,结果一试,确实可以,而且方法十分简单。


首先从这里下载crosstool-ng的源码。

然后解压编译。缺少的什么就用apt-get来安装就行了。


编译安装后,就可以使用ct-ng这个命令了。

可以用ct-ng list-samples 来查看系统提供了那些已经配置好的工具链给你。如果不想配置的话,复制你要的那个工具链的名字,然后执行

ct-ng toolchain-name

就可以完成配置了

然后执行ct-ng build就可以自动生成工具链了。


如果系统提供的配置不能满足你的要求,你还可以在这原有的基础上,执行

ct-ng menuconfing 

来进行配置(感觉有点像配置内核)

剩下的就是执行ct-ng build了。


在编译的过程中,会从网络上下载需要的源码包,保存到HOME目录下的src内,如果是编译的过程中出现time out的错误,可以手动下载好对应版本的包,然后放到src文件夹内即可。


编译生成的中间文件会保存在执行配置工具链的目录下的.build文件夹中。如果为了清晰,最好是新建一个文件夹进行配置,保证如果存在多个工具链不会有影响。


编译生成后的工具链会保存在HOME目录下的x-tools文件夹内。


现在可以赶紧去试一下新鲜出炉的工具链吧^_^


如果需要找各个包的补丁文件,可以到 toolchain_insitall_path/lib/ct-ng.version/patches文件夹内,对应个个软件包的版本寻找补丁