x86下编译龙芯JDK8(一)

来源:互联网 发布:中国投资咨询公司 知乎 编辑:程序博客网 时间:2024/05/17 09:33
1.
首先我在https://people.debian.org/~aurel32/qemu/mipsel/上下载了
debian_wheezy_mipsel_standard.qcow2 和 vmlinux-3.2.0-4-5kc-malta
使用他给的命令qemu-system-mips64el -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"
启动了qemu虚拟机,下载了hg.loongnix.org/的所有文档,
运行bash ./configure --build=mips64el-linux
安装了一些需要的包,其中需要作为boostrap jdk的openJDK1.7.0用apt-get已经不提供下载,多方查阅资料找到ppa:openjdk-r/ppa上还有相应的包
各种需要的包安装好了以后继续运行configure,最终止步在在sizeof(int*)的检测上,检测结果是4,target要求8
多方查证,认定该虚拟机的可用虚存大小是32位,而非64,导致int*的大小也为32位,说明这个虚拟机其实是32位的。
2.
考虑其它系统也应该也提供qemu镜像,安装了fedora的mips64el版本qcow2,重复上述步骤,安装需要的包
但是也没有走通,在安装openJDK1.7.0的时候,用yum也找不到相应的包,所有网上的资源都指向oracle的Java SE8,而且oracle本身也停止了jdk7的下载。
这里没有办法使用ppa:openjdk-r/ppa,因为这个ppa只有在Ubuntu和debian下才能用,所以没有什么办法去安装jdk7作为bootstrap jdk了,而且网上几乎没有mips64el版本的jdk7
但是还是可以用dnf install java-1.8.0-openjdk的,README-builds.html说不能使用jdk8当作boostrap jdk,我还是试了下,还是报没有找到bootstrap jdk。
所以这条路要想走通,必须安装好fedora的mips64el的java-1.7.0-openjdk
3.
如果只能使用ppa下载jdk7包,那么只能在ubuntu或者debian上安装,ubuntu不支持mips,debian也只给了qemu的那个链接
考虑直接使用debian的镜像文件,用qemu安装,但是目前debian的mips发行版都是32位的
最终找到了测试版的debian的mips64el的iso文件,运行
qemu-system-mips64el -hda last.qcow2 -m 2047 -boot d -cdrom debian-testing-mips64el-netinst.iso
报错:Could not load MIPS bios 'mipsel_bios.bin', and no -kernel argument was specified,应该是没有设置内核
尝试把原来debian的内核 vmlinux-3.2.0-4-5kc-malta放进去,不能启动:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
应该是要把这个iso的内核提取出vmlinux文件才能启动?这样就麻烦了