我想在我的部门的高性能计算机(使用8核处理器)上运行一些程序.现在我使用终端ssh使用该机器.机器上安装了Red Hat linux.但我的程序需要在Solaris上运行.我使用Nexenta Solaris for x86.
可以使用qemu通过终端在该机器上运行Nexenta Solaris.我需要说服管理员可以,否则他不会在该机器上安装qemu,因此允许我通过虚拟机使用Solaris.另请注意,我不使用Nexenta Solaris的GUI,只使用命令行.在我的机器中,我使用VMware来运行它.
osg*_*sgx 32
您可以自己编译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选项)
-append 'console=ttyS0'
除了-nographicosgx提到的Linux内核也需要该选项,如:
qemu-system-x86_64 -append 'console=ttyS0' \
-initrd rootfs.cpio.gz \
-kernel bzImage \
-nographic \
-serial mon:stdio \
Run Code Online (Sandbox Code Playgroud)
现在您可以执行以下操作:
console=ttyS0告诉内核使用串口而不是显示器.串口在主机和客户机之间发送字符,而不是显示器上的像素,然后QEMU可以在终端上显示这些字符.
-serial mon:stdio在这个最小的命令中是可选的,但通常是一个好主意.例如,如果您-monitor telnet以后想要添加一个方便的话,它会改善行为:
这可以使用Buildroot轻松测试qemu_x86_64_defconfig.我创建了这是一个高度自包含和自动化的设置,允许您轻松地尝试这一点
在Ubuntu 18.04,QEMU 2.11.1上测试.
小智 5
我为此苦了一段时间,终于想出了如何让它为我工作的方法:
您需要安装SGABIOS。有趣的是,此BIOS不包含在debian qemu软件包中,因此您需要安装它(以超级用户身份):
apt install sgabios
Run Code Online (Sandbox Code Playgroud)
然后,当您运行qemu时,请使用-device选项告诉虚拟机使用sga输出
qemu-system-i386 -nographic -device sga discimage.bin
Run Code Online (Sandbox Code Playgroud)
瞧!通过stdio发送的监视器和文本输出都可以在ssh上完美运行。您可以使用Ca c访问qemu监视器。
欢呼声,本
| 归档时间: |
|
| 查看次数: |
28337 次 |
| 最近记录: |