半年前,我曾经想在XUPV2P上移植linux,搜集了不少资料。但是后来发现与自己方向有些偏离所以放弃了。不过,感觉这些资料还是挺不错的,所以整理出来,写在博客中,希望能对有兴趣的朋友有所帮助。
我搜到的资料大概有三种方法。
它们的不同主要体现在:
Toolchain
Vendor trees
第一种:完全利用crosstool的方案:
crosstool的脚本根据你所修改的选项,去网上找相应版本的gcc,gdb,glibc,内核等,下载并编译安装
但是可能是GNU网站改动的原因,自动下不了GCC,glibc,需要自己动手下载。
http://ftp.gnu.org/gnu/glibc
http://ftp.gnu.org/gnu/gcc
内核是可以下到的。
风雷的博客介绍了这种方法:
http://www.kunli.info/2007/08/13/powerpc-linux1
这种方法有个缺点,就是一些驱动要打补丁才在Make menuconig中看得到。
风雷兄使用的linux 2.6版本需要打System ACE的补丁,才能出现Xilinx on-chip
System ACE选项
第二种:利用crosstool编译来自Vendor提供的的源码树:
这些源码树大多有驱动程序,所以像System ACE是不用打补丁就能看到
利用这种方法有
http://hi.baidu.com/chenxfei/blog/item/ad1946eff3979b3eadafd538.html
源码树地址:http://git.xilinx.com/cgi-bin/gitweb.cgi
西电xilinx创新俱乐部用的是secretlab提供的源码树
http://www.eefocus.com/blog/snakke/08-06/150326_33312.html
源码树地址:http://git.secretlab.ca/?p=linux-2.6-virtex.git;a=summary
第三种:Xilinx Open Source Wiki方法(国内很少人介绍这种方法)
http://xilinx.wikidot.com/powerpc-linux#toc18 这里介绍了整个过程,有兴趣的朋友可以试试。
可能在国内直接打不开,小弟就翻了一下墙,呵呵(这可能也是国内很少人用的原因)
http://www.nabble.com/Xilinx-Linux-git-server-available-to13738592.html
说明了对XUPV2的支持
http://git.xilinx.com/cgi-bin/gitweb.cgi
个人感觉这种方法比较官方,而且对应了EDK软件的升级。
但是用了ELDK(Embedded Linux Development Kit)这个Toolchain
http://www.denx.de/wiki/view/DULG/ELDK
如果运气好,它们这些软件都没有升级,版本能对得上的话,移植其实就只是照着步骤做的事情而已。
这样辛辛苦苦移植完之后,更多的工作,我想应该是放在移植后进一步开发上。其实,linux移植不能单纯只是为了移植本身,而是我们要用移植好的linux来做更多的东西。希望看到这篇博文的朋友可以各抒己见,提出更多应用的想法。
下面有一个基于Xilinx FPGA的流媒体播放器项目文档,这是2007年6月,中国电子学会Xilinx开放源码硬件创新大赛的一个项目。他们在XUPV2P上移植完linux之后,又移植了Mplayer,可以做到小分辨率的视频的播放。
http://www.edacn.net/html/89/131989-32500.html
http://www.61ic.com/Technology/EDA/200801/18216.html
很希望能看到好的建议。