我正在尝试通过串行控制台访问在 KVM 上安装 Centos 5.7 和 FreeBSD 8.2。这是我用的:
sudo virt-install -n freebsd -r 1024 --vcpus=2
--os-type unix --accelerate -v
--disk /var/kvm/installation-disks/freebsd8.2.img,size=10
--nographics --network user
--cdrom=/var/kvm/cd-images/FreeBSD-8.2-RELEASE-amd64-disc1.iso
-x console=ttyS0,115200
在这两种情况下,一旦加载串行控制台,我就会陷入困境,串行控制台变得非交互式,这就是我得到的:
Creating domain... 0 B 00:00
Connected to domain freebsd
Escape character is ^]
Centos 无法提供串行控制台,因为它的引导加载程序加载了图像(串行控制台无法显示),而 freebsd 由于某些其他原因而失败。
方法此处指定也失败了。
那么,这些操作系统是否有适合虚拟机的纯文本安装程序?或者有没有其他方法可以用普通安装 ISO 来安装它们?
编辑1:
我能够用这个安装centos-l http://mirrors.ecvps.com/centos/6/os/x86_64/
镜像目录应该有一个.treeinfo
文件,只有这样才能完成基于纯文本的安装。
freebsd有这样的镜像吗?谷歌搜索对我没有帮助。
PS Centos 安装成功,但安装后重新启动无法恢复串行控制台。
答案1
中央操作系统
对于 CentOS,您需要重新制作 ISO 文件。我知道这是可能的,但我不知道过程。不过,我确实知道您需要修改该syslinux.cfg
文件。
当我完成这个过程时,它是通过 USB 记忆棒连接到物理盒子上的,因此编辑更容易。可能值得检查一下是否可以从主机上的文件夹结构启动。
修改为syslinux.cfg
将以下文本插入文件的第一行:
序列号 0 9600
在您想要的任何启动选项上,在以下
kernel
行中:- 附加文本:
console=tty0 console=ttyS0,9600n8
- 附加文本:
安装后
要获得串行登录提示,您需要编辑两个文件。
添加一行到
/etc/inittab
7:23:重生:/sbin/agetty -h -L ttyS0 9600 vt100
添加一行到
/etc/securetty
终端S0
CentOS 需要进行第一次编辑才能显示串行登录提示。如果您希望能够通过该提示以 root 身份登录,则需要第二个。
如果您想使用更高的串行波特率115200
,请替换9600
上述说明中的所有三个位置
答案2
自由BSD
尝试将串行波特率设置为 进行连接9600
。这通常是默认的串行速度。
sudo virt-install -n freebsd -r 1024 --vcpus=2
--os-type unix --accelerate -v
--disk /var/kvm/installation-disks/freebsd8.2.img,size=10
--nographics --network user
--cdrom=/var/kvm/cd-images/FreeBSD-8.2-RELEASE-amd64-disc1.iso
-x console=ttyS0,9600
答案3
我认为最好的选择是使用本地 PXE 服务器自动执行 VM 部署。如果您无法做到这一点,始终可以选择使用 virt-manager 远程连接到主机并ssh -X
运行 virt-manager,以通过 GUI 安装虚拟机。或者只是使用 VNC 或 SPICE 远程连接到 VM 控制台