QEMU 上の Fedora 22 にシリアルで接続出きるようにする

2015/06/01

動機

仮想マシンマネージャーから Fedora 22 環境を構築後、 GUI から入力するのではなく、ホスト OS の仮想ターミナル エミュレータにて操作をしたかった。

情報をおってみると、シリアル接続ならできそうだと分かり、 grub に設定をしてみようと思った。

対象ゲスト OS

  • Fedora 22

grub の設定

ゲスト OS にて /etc/default/grub に以下の設定を追記する。

GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

GRUB_TERMINAL_OUTPUT, GRUB_CMDLINE_LINUX は既存で設定があると思うが、 これら 2つの設定はコメントアウトすること。

最終的な内容

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
#GRUB_TERMINAL_OUTPUT="console"
#GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

上記設定後、 sudo grub2-mkconfig -o /boot/grub2/grub.cfg を実行し、 grub に反映すること。

[some@localhost ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
[sudo] password for some:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.0.4-301.fc22.x86_64
Found initrd image: /boot/initramfs-4.0.4-301.fc22.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-7090bcf635650045bc27626748bf72bd
Found initrd image: /boot/initramfs-0-rescue-7090bcf635650045bc27626748bf72bd.img
[  410.390204] SGI XFS with ACLs, security attributes, no debug enabled
[  410.409687] JFS: nTxBlock = 8192, nTxLock = 65536
[  410.467944] fuse init (API version 7.23)
done

接続

上述の設定をし、ゲスト OS を再起動すれば、ホスト OS にて sudo virsh console target でシリアル接続できる。

参照