26.9. シリアルコンソールでの GRUB 2
本セクションでは、ディスプレイやキーボードのないマシンでのシリアル通信に GRUB 2
を設定する方法を説明します。
シリアル接続で GRUB 2
> 端末にアクセスするには、特定のカーネルがシリアル接続を監視するように、カーネル定義に追加オプションを追加する必要があります。
以下に例を示します。
console=ttyS0,9600n8
console=ttyS0
は使用するシリアルターミナルです。9600
はボーレート、n
は非パリティー用、および 8
はビット単位の単語長さを示します。たとえば、115200
のように非常に高いボーレートは、ログファイルの後のタスクに適しています。
シリアルコンソール設定の詳細は、「インストールできる外部のドキュメント」 を参照してください。
26.9.1. シングルブート用に GRUB 2 の設定
単一ブートプロセス中にのみシステムがシリアルターミナルを使用するよう設定するには、GRUB 2 ブートメニューが表示されたときに、起動したいカーネルにカーソルを移動し、e キーを押してカーネルパラメーターを編集します。rhgb
パラメーターと quiet
パラメーターを削除し、以下のように linux16
行の最後にコンソールパラメーターを追加します。
linux16 /vmlinuz-3.10.0-0.rc4.59.el7.x86_64 root=/dev/mapper/rhel-root ro rd.md=0 rd.dm=0 rd.lvm.lv=rhel/swap crashkernel=auto rd.luks=0 vconsole.keymap=us rd.lvm.lv=rhel/root console=ttyS0,9600
この設定は永続的なものではなく、これから実行するブートにのみ適用されます。
26.9.2. 永続的な変更のための GRUB 2 の設定
システムでメニューエントリーの変更を永続的に行うには、grubby
ツールを使用します。たとえば、デフォルトのカーネルのエントリーを更新するには、以下のようにコマンドを入力します。
~]# grubby --remove-args="rhgb quiet" --args=console=ttyS0,9600 --update-kernel=DEFAULT
--update-kernel
パラメーターはキーワード ALL
、またはカーネルインデックス番号のコンマ区切りのリストも受け入れます。grubby
の詳細は 「GRUB 2 メニューエントリーに対する引数の追加および削除」 を参照してください。
26.9.3. 新しい GRUB 2 ファイルの設定
新しい GRUB 2 設定ファイルを構築する必要がある場合は、/etc/default/grub
ファイルに次の 2 行を追加します。
GRUB_TERMINAL="serial" GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"
最初の行は、グラフィカルターミナルを無効にします。GRUB_TERMINAL
キーを指定すると、GRUB_TERMINAL_INPUT
および GRUB_TERMINAL_OUTPUT
の値を上書きすることに注意してください。2 行目では、ボーレートやパリティーなどの値を使用中の環境とハードウェアに適合するように調整します。たとえば、115200
のように非常に高いボーレートは、ログファイルの後のタスクに適しています。/etc/default/grub
ファイルを変更した場合は、GRUB 2 設定ファイルの更新が必要になります。
次のように grub2-mkconfig -o
コマンドを実行して、grub.cfg
ファイルを再構築します。
BIOS ベースのマシンでは、
root
で以下のコマンド実行します。~]# grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI ベースのマシンでは、
root
で以下のコマンド実行します。~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
26.9.4. screen を使用したシリアルコンソールへの接続
screen ツールは、シリアルターミナルとして機能します。このツールをインストールするには、root
で以下を実行します。
~]# yum install screen
シリアルコンソールを使用してマシンに接続するには、コマンドを以下のように使用します。
screen /dev/console_port baud_rate
デフォルトでは、オプションが指定されない場合、screen は標準の 9600 ボーレートを使用します。大きいボーレートを設定するには、以下のコマンドを入力します。
~]$ screen /dev/console_port
115200
ここで、console_port は ttyS0
や ttyUSB0
などです。
screen でセッションを終了するには、Ctrl+a を押して、:quit
と入力し、Enter を押します。
追加オプションおよび詳細情報は、screen(1)
man ページを参照してください。