- 如何使用QEMU设置 Raspberry 'VM'
- 设置 Jenkins 以使用新的Oracle Java 7运行
问问题
1837 次
1 回答
6
0. 仿真
- 下载并解压http://sourceforge.net/projects/rpiqemuwindows/
- 通过运行 run.bat 启动 QEMU
- 安装和配置 Raspbian(用户:pi,密码:raspberry)
- 关闭 QEMU
vm-image 有一个非常小的驱动器,大约 300MB 可用空间,不足以安装 Java + Jenkins。所以我们需要扩展它。
1.扩大音量
- 将raspbian镜像扩展 10GB,
qemu-img resize 2012-07-15-wheezy-raspbian.img +10G
- 然而这还不够,因为我们还需要扩展映像文件系统中的分区。所以我们需要启动 GParted live cd,因为我们不能在运行时这样做。
- 下载GParted Live CD http://gparted.sourceforge.net/download.php
- 将目录中的文件复制
Bios
到 qemu-system-x86_64.exe 所在的 QEMU 目录中。 使用以下命令启动普通 x86 机器:
qemu-system-x86_64.exe -hda 2012-07-15-wheezy-raspbian.img -m 512M -cdrom gparted-live-0.16.2-1b-i486.iso -boot d -pflash bios.bin
.这需要相当长的时间...
调整分区大小以填满磁盘。
- 不要忘记在关闭前实际申请。
- 再次启动 QEMU 并使用以下命令验证rootfs现在是否更大
df
2.安装詹金斯
sudo apt-get update
sudo apt-get install jenkins
- 停止服务
sudo service jenkins stop
日志
cat /var/log/jenkins/jenkins.log
显示以下内容:[Winstone] - Beginning extraction from war file [Winstone] - Error initializing web application: prefix [] java.io.IOException: No space left on device at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:282) at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:273) at winstone.HostConfiguration.<init>(HostConfiguration.java:73) ... at Main.main(Main.java:96)
- Jenkins 实际上已经崩溃,因为它试图将所有文件提取到tmpfs中,
/run
其中只有 10% 的 RAM(约 20MB 和-m 192
)。为了解决这个问题,我们需要编辑--webroot
Jenkins 的参数以使用另一个目录。 nano /etc/default/jenkins
编辑以下行JENKINS_ARGS="--webroot=$JENKINS_RUN/war --httpPort=$HTTP_PORT ...
进入
JENKINS_ARGS="--webroot=$JENKINS_HOME/war --httpPort=$HTTP_PORT ...
3. 安装 Oracle Java 7(硬浮动)
run.bat
再次启动 QEMUsudo apt-get install oracle-java7-jdk
- 列出已安装的 Java 版本(Jenkins 安装 OpenJDK)
update-java-alternatives -l
sudo update-alternatives --config java
并选择 Oracle JDK。- 现在尝试
java -version
确保它使用Java(TM) SE 运行时环境
4.开始并验证安装
sudo service jenkins start
tail /var/log/jenkins/jenkins.log -f
等待Jenkins 完全启动并运行- 现在尝试它实际上是向上的
wget localhost:8080 && nano index.html
于 2013-10-30T12:12:53.870 回答