読者です 読者をやめる 読者になる 読者になる

〆(.. )カリカリッ!! シリアルコンソールめも

fedora kernel

virt-managerを使っていて普段はsshでゲストにつないでいるけどシリアル経由の設定もしておきたかったのでめも。
OSはゲスト・ホストともにFedora 18です。ゲストはvirt-managerを使ってインストールしています。ゲストのハードウェアに関する設定は特にいじっていません。

まずはカーネルのコマンドラインにシリアルの設定を渡すためにgrub2の設定。grubの設定を変更するため/etc/default/grubを修正します。
デフォルトだとこのようになっていると思います。

[masami@kerntest:~]$ cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 rd.luks=0 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_THEME="/boot/grub2/themes/system/theme.txt"

このファイルに以下の3行を追加。

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

/etc/default/grubを変更したらgrub2-mkcnofigコマンドで新しいgrub.cfgを作ります。

[masami@kerntest:~]$ sudo grub2-mkcnofig -o /boot/grub2/grub.cfg

これでゲスト側はリブートすれば準備完了です。
ホスト側は特にすることはないのでvirshのconsoleコマンドでゲストの名前を指定して接続できます。

[masami@saga:~]$ sudo virsh console kerntest
Connected to domain kerntest
Escape character is ^]

Fedora release 18 (Spherical Cow)
Kernel 3.6.5-2.fc18.x86_64 on an x86_64 (ttyS0)

kerntest login: masami
Password:
Last login: Fri Nov  2 11:24:11 on ttyS0
[masami@kerntest:~]$