今天在 xen 虚拟机里安装了 RHEL6 beta,发现因为 sysvinit 被换成 upstart 之后,竟然不知道在哪里启用 hvc0 上的 getty 了。尝试改变 /etc/sysconfig/init 把 hvc0加到 ACTIVE_CONSOLES 里,但是开机时提示 hvc0 permission denied 之类的提示信息。
最后还是在内核上加 console= 参数了。不过注意:必须写成 console=tty console=hvc0 这样,其中 tty 那一项可以用 console=tty 也可以用 console=tty1。
- 如果只加console=hvc0 则用VNC查看虚拟机的时候看不到开机时的 dmesg 和服务脚本启动信息
- 如果顺序反了,最后不会启动 agetty 在 hvc0 上,该行为在 /etc/init/serial.conf 提到了
RHEL6 在启动脚本中自动检测内核参数中最后一个 console 参数是否为串口,如果是串口就在上面运行一个 agetty 。不知道其它使用 upstart 代替 sysvinit 的发行版是否也有类似行为。
RHCE
你才RHCE呢!你们全家都RHCE!
我不清楚,xen上面用hvc0是干嘛的呢,我的虚拟机在auth.log中一直提示/dev/hvc0: No such file or directory。
hvc xvc是不同版本xen里的虚拟串口