Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.9. シリアルコンソールでの GRUB 2

画面やキーボードのないコンピューターを使用している場合は、シリアル通信によるマシンの制御が非常に便利です。

25.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,115200
これらの設定は永続的ではなく、1 回のブートにのみ適用されます。
システムでメニューエントリーを永続的に変更するには、grubby ツールを使用します。たとえば、デフォルトのカーネルのエントリーを更新するには、以下のようにコマンドを入力します。
~]# grubby --remove-args="rhgb quiet" --args=console=ttyS0,115200 --update-kernel=DEFAULT
--update-kernel パラメーターにはキーワード ALL またはカーネルインデックス番号のコンマ区切りリストを指定できます。grubby の使用方法は 「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

注記

シリアル接続で GRUB 2 ターミナルにアクセスするには、カーネルに定義に追加のオプションを追加して、特定のカーネルがシリアル接続を監視するようにします。以下に例を示します。
console=ttyS0,9600n8
ここで、console=ttyS0 は使用するシリアルターミナル、9600 はボーレート、n はパリティーなし、8 はビットでの単語の長さになります。以下のログファイルのようなタスクには非常に大きいボーレート (例: 115200) が推奨されます。
シリアルコンソール設定の詳細は 「インストールできる外部のドキュメント」 を参照してください。

25.9.2. screen を使用したシリアルコンソールへの接続

screen ツールは、シリアルターミナルとして機能します。このツールをインストールするには、root で以下を実行します。
~]# yum install screen
シリアルコンソールを使用してマシンに接続するには、コマンドを以下のように使用します。
screen /dev/console_port baud_rate
デフォルトでは、オプションが指定されない場合、screen は標準の 9600 ボーレートを使用します。大きいボーレートを設定するには、以下のコマンドを入力します。
~]$ screen /dev/console_port 115200
ここで、console_portttyS0ttyUSB0 などです。
screen でセッションを終了するには、Ctrl+a を押して、:quit と入力し、Enter を押します。
追加オプションおよび詳細情報は、man ページ screen(1) を参照してください。