我已经设置在我自己的ubuntu桌面14.04上运行pintos。目前它在桌面上运行完美,如下图所示。
使用这个ubuntu作为服务器,我希望我也可以通过ssh运行QEMU。我知道可以通过ssh运行bochs,但是也可以使用QEMU吗?
我认为必须有一种方法可以将qemu作为命令行界面运行(如bochs)。
实际上,这是在pintos脚本中运行qemu的脚本。我认为pint应该在ssh上以$ vga eq'none'运行,但似乎没有。
# Runs QEMU.
sub run_qemu {
print "warning: qemu doesn't support --terminal\n"
if $vga eq 'terminal';
print "warning: qemu doesn't support jitter\n"
if defined $jitter;
my (@cmd) = ('qemu');
for my $iface (0...3) {
my ($option) = ('-hda', '-hdb', '-hdc', '-hdd')[$iface];
push (@cmd, $option, $disks_by_iface[$iface]{FILE_NAME})
if defined $disks_by_iface[$iface]{FILE_NAME};
}
push (@cmd, '-m', $mem);
push (@cmd, '-net', 'none');
push (@cmd, '-nographic') if $vga eq 'none';
push (@cmd, '-serial', 'stdio') if $serial && $vga ne 'none';
push (@cmd, '-S') if $debug eq 'monitor';
push (@cmd, '-s', '-S') if $debug eq 'gdb';
push (@cmd, '-monitor', 'null') if $vga eq 'none' && $debug eq 'none';
run_command (@cmd);
}
任何帮助将不胜感激。
答案 0 :(得分:0)
我找到了解决自己问题的方法。
无论$ vga变量是什么,你只需要给出-nographic选项。 $ vga变量可以是'none','terminal','window'之一。因此,您可以将push (@cmd, '-nographic') if $vga eq 'window';
添加到pintos perl脚本。
我仍然想知道他们如何确定我是否在终端上运行,以及为什么他们弄错了。如果您有任何想法,请告诉我。