我想在 Ubuntu 服务器 10.04 上运行的 kVM 上运行 Freebsd 作为来宾操作系统。所有指南都提到 VNC 是启动和完成安装过程的必要条件。我可以在 kVM 上安装 freebsd 而不使用 VNC 吗?我希望有一个基于文本的安装程序,可以在 ssh shell 提示符下运行。我的重点是,我不想在我的主机操作系统(ubuntu 服务器)上安装任何图形或 GUI 工具。
答案1
尝试设置与虚拟机的串行连接。我对 kVM 不熟悉,但从阅读来看,您似乎可以使用virsh
该console domain-id [devname]
选项来设置它。
$ sudo virsh console <your_vm_name>
一旦获得串行访问权限,您应该能够与 FreeBSD 引导加载程序交互。我不知道你想安装哪个版本的 FreeBSD,但是当我最近安装 FreeBSD 9 BETA2 时,以下是我的步骤。
引导加载程序串行
- 在 FreeBSD 启动选项屏幕上按下
2
以转至加载程序提示符 - 类型
set console=comconsole
- 如果此时失去交互性,请检查虚拟 tty 波特率是否为 9600
- 类型
autoboot
这应该允许通过串行接口完成其余的安装。如果您想在安装 FreeBSD 后继续进行串行访问,那么在安装结束重新启动之前,您需要进入命令提示符。
安装后序列号
进入控制台后,您将需要进行以下更改:
- 类型
echo 'console="comconsole"' >> /boot/loader.conf
- 加载
/etc/ttys
到vi中ttyu0
修改以(可能ttyd0
在其他版本的 FreeBSD 上)开头的行- 在那一行更改
dialup
为vt100
和off
到on
- 重新启动后,串行终端应显示启动过程,并以登录提示结束
参考
http://linux.die.net/man/1/virsh
http://www.cyberciti.biz/faq/linux-kvm-redirecting-freebsd-virtual-machines-console-to-aserialport/
http://www.freebsd.org/doc/handbook/serialconsole-setup.html
答案2
您应该尝试使用-curses
qemu / kvm 选项,它似乎提供与互联网上所有其他指南所写的 VNC 选项几乎相同的功能。 使用-curses
,您可以访问模拟 BIOS,就像使用 VNC 等一样。
(我同样尝试通过不带 VNC 的 ssh 从 Linux 机器安装 OpenBSD,并且-curses
看起来其工作方式与 VNC 完全相同。)
另一方面,该-nographic
选项要求您的安装介质配置为使用串行端口(而不是模拟 VGA 显示器和模拟传统键盘);这样的东西对于 FreeBSD 来说可能有点过分了,它的安装程序确实需要基于文本的图形,所以,YMMV;但对于 OpenBSD,您可以按如下方式修改安装介质(由http://www.mail-archive.com/[电子邮件受保护]/msg98999.html):
apt-get install dvd+rw-tools
echo 'set tty com0' > boot.conf
growisofs -M install52.iso -l -graft-points /etc/boot.conf=boot.conf
kvm -m 1024 -hda /dev/sda -cdrom install52.iso -boot d -nographic
请注意,使用该-curses
选项不需要修改常规安装介质(相反,如果您的安装介质需要串行端口进行安装,那么-curses
不会有多大用处,因为您只会看到您将拥有的内容在 PC 的 VGA 显示器上看到,不包括任何串行输出):
kvm -m 1024 -hda /dev/sda -cdrom install52.iso -boot d -curses