Raspberry Pi 4 Fedora 37のシリアルコンソールを有効にするには

前回、Fedora 37でVPNサーバを構築したのですが。

firewalldの設定に失敗してしまい、sshによる仮想ターミナル接続ができなくなってしまいました。

これはかなり面倒な状況で、文鎮化・・・。

いざという時、シリアル端子からコンソールに接続できるように。

シングルボードコンピュータにシリアルコンソールからログインするには
シングルボードコンピュータ(SBC)にログインする時 ディスプレイとキーボードを取り付けて、画面から直接ログイン。 ...

Fedora 37のシリアルコンソール有効化手順を記録させて頂こうと思います。


Fedora 37のシリアルコンソール有効化

/boot/grub2/grub.cfgは自動生成のため編集不可

/boot/grub2配下の設定ファイルを確認したところ。

「DO NOT EDIT THIS FILE」と記載があります。

近年のRHEL系は、たとえば静的IPアドレスの設定は、configファイルの編集ではなくコマンドで行うようです。こちらの記事の通りです。

Raspberry Pi 4版Fedora 37のIPアドレス設定等コマンド覚書
先日、Raspberry Pi 4でFedora 37 Serverを起動しました。 システムの更新や、ホスト名の設定等。 ...

grubの引数の編集も、どうやらコマンドで行うのかなと思います。


grubbyコマンドによるシリアルコンソール有効化

RHELの公式資料を拝見しました。

https://access.redhat.com/articles/3166931#config9

こちらの資料によりますと、近年はgrubbyコマンドで、GRUB2の引数(args、arguments)を設定するようです。

引数を確認後、console=の引数を追加しました。

# 既存の引数を確認
sudo grubby --info=ALL|grep -i args
# シリアルコンソール有効化
sudo grubby --update-kernel=ALL --args="console=tty0 console=ttyS0,115200"
# 正しく変更されたかどうか確認
sudo grubby --info=ALL|grep -i args

これで確かに、コンソールがシリアル接続のターミナルに変更されました。


確かに/etc/default/grubファイルに設定が反映されています

/etc/default/grubファイルを確認すると、確かにGRUB_CMDLINE_LINUX行にconsole引数が追加されていました。

先ほどの/boot/grub2/grub.cfgファイルと同様、ファイルを編集するのは誤りで、コマンドで変更するやり方が正しいと思います。


以上でFedora 37のシリアルコンソールが有効になりました。

シリアル端子に、USB-シリアルアダプタを接続。

再起動すると、確かにシリアルコンソールに、ブート時のメッセージが出力されるようになり、最後にコンソールへのログイン画面が表示されました。

firewalldのような、ネットワークまわりの設定を変更したい場合。

ネットワークとは別の、仮想ではないリアルなターミナル接続方法である、シリアルコンソールを有効にしておいたほうが、設定ミスに対する回避策が作れて、有効だと思います。

ブート時のコンソール出力も、起動時にリアルタイムに色々と情報が得られて大変有意義です。

共有の空間にシリアル端子がある場合は、セキュリティ上のリスクがあると思います。仮想ターミナル接続と異なり、シリアルを切断してもログオフされない挙動です。(タイムアウトでログオフされますが

そのあたり、しっかりリスク管理した上で、シリアルコンソールを有効にするのも、いろいろと勉強になるのかと思います。

スポンサーリンク

フォローする

スポンサーリンク