コンソール・ターミナル・シリアルってなんでしょう?

Raspberry Piのシリアル端子に、ターミナルを接続し、コンソール出力してみました。(本当

・・・

シリアル?ターミナル?コンソール?

そのあたりの認識を、少し整理しておこうと思います。


シリアルポートといえばUART?RS-232C?

シリアルポートといえば・・・というのは完全に私の偏見です。

シングルボードコンピュータのGPIO端子には、UARTインタフェースが搭載されています。

TX(Transmit Data)とRX(Receive Data)、それぞれ送信・受信端子になります。

シリアルポートの実装として、UARTが多く使われていると思います。

昔のコンピュータにはシリアルポートがたくさん搭載されていました。(実装形態はさておき

「シリアルマウス」はシリアルポートに接続し、「バスマウス」はパラレルポートに接続しました。

USBはシリアルポートの進化系なのかと思います。

ここで大切なのは、「昔のコンピュータには、シリアルポートがたくさん搭載されていて、マウス以外にターミナルを接続して、皆で共用していた」点でしょうか。


ターミナルといえばVT100端末

ターミナルの和訳は端末でしょうか。

VT100という端末が標準的で、シリアルーポートに接続して、1台のコンピュータを多くの人が同時に使用していました。

ttyS0, ttyS1, ttyS2・・・・teletypewriter?デバイスになります。

シリアルポートではなく、LAN端子でターミナルを使用できるように、ptsやpty、擬似端末デバイスが実装されました。

恐らく今でも、VT100互換機能が実装されているターミナル・アプリケーションが存在していると思います。そのようなアプリケーションは、擬似端末としてSSHやTELNETプロトコルによるTCP/IP接続が実装されていますが、リアルにシリアル(COMポート)へ接続する機能を持つものも存在します。

またターミナル出力の文字の色を変えたり等、文字装飾に、カーシス(curses)ライブラリが使用されており、VT100の仕様の延長で実装されているようです。


コンソール出力へコンピュータの状態を出力

コンピュータにキーボード・マウス・ディスプレイを接続する意味で、コンソールという場合もあると思いますが。

「コンソール出力」「ttyS0」は、たとえば起動中のメッセージを出力する先のデバイスを意味する場合があります。ttyS1やttyS2には出力されません。そこがポイントです。(つまりttyS1はコンソールとは言わなかった

Raspberry Pi等のシングルボードコンピュータは、ブートローダーの出力は、シリアル・コンソールに出力される仕様です。つまり、シリアルポートにターミナルを接続すると、ブートローダーのメッセージを見ることが出来ます。(今もそうです

同時にディスプレイにも出力され、キーボード・マウスで操作することが可能のため、コンソール出力は2系統(ディスプレイとシリアル)に出力されている仕様かと思います。

ただし、ブート・シーケンスがブートローダーからramfs(カーネル読み込み)へ移行すると、現在ではシリアルコンソールへの出力は行われなくなります。また画面も黒い状態です。

ちなみにFedoraは、シリアルコンソールを有効にすることで、ramfs起動中のメッセージをターミナルで確認することができます。ディスプレイの画面は黒い状態ですが。

Raspberry Pi 4 Fedora 37のシリアルコンソールを有効にするには
前回、Fedora 37でVPNサーバを構築したのですが。 firewalldの設定に失敗してしまい、sshによる仮想ターミナル接続が...

また、起動時以外でも。使用中に、コンピュータに何か異常が発生した場合、ハードウェアからコンソールに、何かメッセージが出力されます。

現在のコンピュータの多くは、WindowsやLinux等のOSを介して、システムログや、/var/log/messageファイルにメッセージが出力されます。

一方、昔のコンピュータ、ディスプレイが接続できず、たくさんのシリアル端子を搭載していた時代のコンピュータは、ttyS0が特別な端子として扱われ、コンソール出力として使用されていました。

ハードウェア上で何かイベントが発生すると、コンソールにメッセージが表示されました。出力先は、ターミナル上のテキストメッセージだったり、X Window System上のコンソール出力ウィンドウだったりしました。

それらの名残なのかはわかりませんが、スーパーユーザー(root)のログインはコンソールのみに制限する、という機能が今も残っていると思います。ttyS0はスーパーユーザーで直接ログインできますが、疑似端末ttyはログインできない制限。

これはつまり「コンソールではないから管理者はログインできない」という感じでしょうか。


シングルボードコンピュータのシリアル端子ですが。

このように、実は多くの情報が出力される仕組みを持っています。

VT100端末が多く使われたのは、1970年後半から1990年代くらいまでかと思いますが。

その頃の技術や仕様を継承していて、なかなかおもしろいと思います。

シリアル端子のコンソールは、実用的にも便利かと思います。

よろしければ使用してみて下さい。

シリアル接続は、5Vではなく3.3V対応をお忘れなく!

スポンサーリンク

フォローする

スポンサーリンク