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:~]$