我想在我的部门的高性能计算机(使用8核处理器)上运行一些程序。现在我使用终端ssh使用该机器。机器上安装了Red Hat linux。但我的程序需要在Solaris上运行。我使用Nexenta Solaris for x86。
可以使用qemu通过终端在该机器上运行Nexenta Solaris。我需要说服管理员可以,否则他不会在该机器上安装qemu,因此允许我通过虚拟机使用Solaris。另请注意,我不使用Nexenta Solaris的GUI,只使用命令行。在我的机器中,我使用VMware来运行它。
答案 0 :(得分:29)
您可以自己编译qemu并将其安装到您的主目录中。将没有内核模式qemu加速器,但qemu将工作,速度将相当高。
Qemu有两个非gui开始选项:http://wiki.qemu.org/download/qemu-doc.html
显示选项:
<强>
-nographic
强> - 通常,QEMU使用SDL显示VGA输出。使用此选项,您可以完全禁用图形输出,以便QEMU是一个简单的命令行应用程序。模拟的串行端口在控制台上重定向。因此,您仍然可以使用QEMU通过串行控制台调试Linux内核。<强>
-curses
强> - 通常,QEMU使用SDL显示VGA输出。使用此选项,QEMU可以在文本模式下使用curses / ncurses接口显示VGA输出。在图形模式下不显示任何内容。
它还可以通过VNC协议将图形输出发送到另一台机器( -vnc
选项)
答案 1 :(得分:7)
<强> -append 'console=ttyS0'
强>
除了osgx提到的-nographic
之外,Linux内核也需要该选项,如下所示:
qemu-system-x86_64 -append 'console=ttyS0' \
-initrd rootfs.cpio.gz \
-kernel bzImage \
-nographic \
-serial mon:stdio \
现在您可以执行以下操作:
console=ttyS0
告诉内核使用serial port代替显示。串口在主机和客户机之间发送字符,而不是显示器上的像素,然后QEMU可以在终端上显示这些字符。
-serial mon:stdio
在这个最小命令中是可选的,但通常一个好主意。例如,如果您以后想要添加一个方便的-monitor telnet
,它会改善行为:
使用Buildroot qemu_x86_64_defconfig
可以轻松测试。我创建了this is a highly self-contained and automated setup,可让您轻松尝试
在Ubuntu 18.04上测试,QEMU 2.11.1。
答案 2 :(得分:3)
我已经挣扎了一段时间,最后想出了如何让它为我工作:
您需要安装SGABIOS。有趣的是这个BIOS不包含在debian qemu包中,所以你需要安装它(作为超级用户):
apt install sgabios
然后当你运行qemu时,使用-device选项告诉virtural机器使用sga输出
qemu-system-i386 -nographic -device sga discimage.bin
瞧!通过stdio发送的监视器和文本输出完全适用于ssh。您可以使用C-a c。
访问qemu监视器 欢呼,本答案 3 :(得分:0)
os终端无法运行qemu。因此,您应该在Windows PC上使用腻子或使用Linux机器终端。