Monthly Archives: April 2009

>[GSoC] 2009年4月13日 目前的进度和遇到的问题以及以后的工作

>

最近一直在忙碌GSoC的opensuse移植到gdium的项目。从3月20号就开始了吧,也有快一个月的时间了。
从最开始的写proposal到后来的修改,到之后的交叉编译安装一些软件,到最近的想用qemu-system-mips64el启动内核。遇到了不少困难。
首先是交叉编译环境的构建。这个就按照youbest的文章来构建。但是第一次做的时候想着多用opensuse里的包,所以不是完全按照他的文章来做的,比如gcc就用的是opensuse11.0用的4.3版本,后来发现4.3版还没有对-march=loongson2f的支持;再比如内核版本使用的是2.6.27,但是这个版本没有loongson2f的各种补丁。目前在第二次构建这个交叉编译环境,准备完全按照youbest的文章来做。结果还未知。
其次是编译出来的内核不能够使用qemu-system-mips64el来启动,启动的时候终端没有任何输出,而自己编译的内核和从gdium上下载的fred做的内核file的结果都是

ELF 64-bit LSB executable, MIPS, MIPS-III version 1 (SYSV)

而能够启动的一个debian的版本的file结果是

ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV)

使用命令

qemu-system-mips64el -kernel vmlinux [-initrd initrd.gz] -append “root=/dev/ram console=ttyS0” -nographic

可能是对这种MIPS-III类型的内核支持不好吧。不过在龙芯论坛上看到falcon的文章说内核配置的时候机器类型选择malta就能够启动,而debian的内核确实也是malta类型的。下一步就打算编译两种类型的内核都试验一下。前提是第二次完成交叉编译环境的。
最后,如果用malta类型的编译出来的内核也不能启动,那么只能尝试直接在debian系统上直接安装rpm构建环境。不过这个在今天试验的时候发现要使用rpmbuild命令的话,spec文件和rpm系统配置还有很多工作要做,工作量会不少。但是也不能确定自己交叉编译出来的环境在使用rpmbuild的时候是否也要进行rpm系统的复杂配置和大规模修改spec文件。
要熄灯了,先这样吧。