Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
シリアルコンソールのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
シリアルコンソール
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ハードウェア]] [[en:Working with the serial console]] Arch Linux マシンを設定してシリアルコンソールポート (com ポート) でマシンを接続することができます。キーボードやマウス、モニター、ネットワークが接続されていなくても (ヘッドレスサーバー)、マシンを管理することが可能です。 Arch Linux をシリアルコンソールでインストールすることもできます。 シリアルケーブル (9ピンの接続ケーブル) を使ってマシンを接続されていることが基本条件とします。管理用のマシンはターミナルエミュレータプログラム ([[PuTTY]] や Minicom など) が動作するのであれば Unix/Linux あるいは Windows のどちらでもかまいません。 以下の設定では GRUB のメニュー選択とブートメッセージを有効にしてシリアルコンソールに端末を転送します。 ==設定== ===接続先のマシンのコンソールを設定=== ====GRUB2 と systemd==== GRUB2 でシリアルコンソールを設定する場合、systemd によってデフォルトで getty リスナーが同一のシリアルデバイスに作成されます。grub からシリアルコンソールが使えるようにするには {{ic|/etc/default/grub}} をエディタで開いてください。{{ic|GRUB_CMDLINE_DEFAULT}} 行を変更して {{ic|/dev/ttyS0}} でコンソールを起動してください。tty0 とシリアルポートでコンソールを立ち上げる例: GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,38400n8" シリアルコンソールを有効にするにはコンソールのコマンドを指定する必要があります (Linux カーネルと同じように、grub ではターミナルの入出力を複数記述できます。例: {{ic|<nowiki>GRUB_TERMINAL="console serial"</nowiki>}}: ## Serial console GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1" 以下のコマンドで {{ic|grub.cfg}} ファイルを再生成してください: # grub-mkconfig -o /boot/grub/grub.cfg 再起動後、getty は {{ic|/dev/ttyS0}} を listen するようになります。38400 ボーで、パリティビットを使わずストップビットを1個使用する、8 データビットで接続します。Arch が起動すると systemd が自動的に getty セッションを同一設定の同一デバイスで起動します。 =====GRUB2 を使わず systemd だけを使用===== GRUB2 を設定してシリアルコンソールを使う場合にはこのセクションは無視してください。起動後に getty だけ listen させたい場合に以下の手順に従ってください。 systemctl を使って getty を {{ic|/dev/ttyS0}} で起動: # systemctl start getty@ttyS0.service systemctl を使って getty の速度を確認できます (38400 8N1 になるはずです): # systemctl status serial-getty@ttyS0.service 起動時に毎回 getty で {{ic|/dev/ttyS0}} を listen するには、サービスを有効化します: # systemctl enable serial-getty@ttyS0.service ====GRUB v1 だけを使って systemd を使用しない==== GRUB の設定ファイル {{ic|/boot/grub/menu.lst}} を編集して以下の行を追加してください: serial --unit=0 --speed=9600 terminal --timeout=5 serial console kernel 行の末尾に適切なコンソールパラメータを追加 (必要であればシリアルデバイスの名前やボーレートを変更してください): console=tty0 console=ttyS0,9600 編集すると kernel 行は以下のようになります: kernel /vmlinuz-linux root=/dev/md0 ro md=0,/dev/sda3,/dev/sdb3 vga=773 console=tty0 console=ttyS0,9600 {{ic|<nowiki>terminal --timeout=5 serial console</nowiki>}} 行を {{ic|menu.lst}} に追加すると、起動画面で "Press any key to continue" メッセージが表示されるようになります。何もキーを押さないと、ブートメニューは 'terminal' 行に先に設定したほう (serial または console) に表示されます。以下のようにメッセージが表示されます: Press any key to continue. Press any key to continue. Press any key to continue. Press any key to continue. Press any key to continue. Press any key to continue. Press any key to continue. そして {{ic|/etc/inittab}} を編集して末尾に新しく agetty の行を追加します: c0:2345:respawn:/sbin/agetty 9600 ttyS0 linux {{ic|/etc/securetty}} を編集して既存のエントリの下にシリアルコンソールのエントリを追加してください: ttyS0 設定できたら再起動してください。 {{note|シリアルポートが複数ある場合、上記の設定の代わりに ttyS1 を使うこともできます。}} ==接続== ===ターミナルエミュレータプログラムを使って接続=== {{note|接続を行う前に、ユーザーを {{ic|uucp}} グループに追加することを推奨します。グループに追加されていない場合、接続するのに root 権限が必要になります。詳しくは[[ユーザーとグループ#ユーザーグループ]]を参照。}} ==== dterm ==== {{aur|dterm}} は小さなシリアル接続プログラムです。パラメータを付けずに起動した場合、デフォルトでは {{ic|/dev/ttyS0}} に 9600 ボーで接続します。以下の例は {{ic|/dev/ttyS0}} に 115200 ボーで、パリティビットを使わずストップビットを1個使用する、8 データビットで接続します: $ dterm 115200 8 n 1 詳しくは [http://www.knossos.net.nz/resources/free-software/dterm/ ホームページ] を見てください。 ==== Minicom ==== {{Pkg|minicom}} は公式リポジトリからインストールできます。セットアップモードで Minicom を起動: $ minicom -s テキストのナビゲーションメニューを使って、以下のようにシリアルポートの設定を変更: Serial Device: /dev/ttyS0 Bps/Par/Bits: 9600 8N1 Enter を押してメニューを終了してください (Esc を押した場合、変更が保存されません)。モデムには接続しないため、モデムの Init と Reset の文字列は削除します。{{ic|Modem and Dialing}} メニューで Init と Reset 文字列を削除してください。メインメニューから {{ic|save setup as dfl}} を選択することで設定が保存されます。マシンにシリアルケーブルを接続したまま minicom を再起動してください。セッションを終了するには {{ic|Ctrl+A}} を押してから {{ic|Ctrl+X}} を押します。 ==== picocom ==== {{pkg|picocom}} は minicom とよく似ている小さなダム端末エミュレーションプログラムです。以下の例は {{ic|ttyS0}} に 9600 bps で接続します: $ picocom -b 9600 /dev/ttyS0 {{note|バックスペースキーが上手く動作しない場合、次のオプションを試してみてください: '--omap delbs'。}} 詳しい使い方はマニュアルを見てください。 ==== Screen ==== {{Pkg|screen}} はシリアルポートに接続することができます。デフォルトでは 9600 ボーで接続します: $ screen /dev/ttyS0 コマンドラインからボーレート (例: 115200) を指定できます: $ screen /dev/ttyS0 115200 ==== Serialclient ==== Serialclient は [[Ruby]] で書かれたシリアル接続 CLI クライアントです [https://github.com/flagos/serialclient]。[[Ruby#RubyGems|Gem]] を使ってインストールしてください。 以下のようにして使うことが可能です: $ serialclient -p /dev/ttyS0 ==== tinyserial ==== {{pkg|tinyserial}} is a {{pkg|minicom}} replacement for accessing serial ports on Linux inspired by FreeBSD 'tip'. $ com /dev/ttyS0 9600 ==== グラフィカルフロントエンド ==== * {{AUR|cutecom}} は gui で使えるシリアルモニターです。 * {{pkg|putty}} は Linux からでも使うことができます。 * {{Pkg|moserial}} は gtk ベースのシリアルターミナルです。組み込み環境や試験装置、シリアルコンソールを使う必要がある技術者やハードウェアハッカー用に作られています。 ==== Windows ==== Windows マシンでは [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] や [https://sites.google.com/site/terminalbpp/ Terminalbpp] などのプログラムを使ってシリアルポートに接続してください。 ==シリアルコンソールを使って Arch Linux をインストール== {{note|Arch Linux の月次リリースのインストール CD のブートローダーは 0 ポート ({{ic|ttyS0}}/COM1) を 38400 bps、パリティビットを使わずストップビットを1個使用する、8 データビットで listen するように設定されています [https://projects.archlinux.org/archiso.git/tree/configs/releng/syslinux/archiso_head.cfg#n1]。}} # 上に書かれている方法でインストールを行うマシンに接続。 # Arch Linux インストール CD を使ってマシンを起動。 # ブートローダーが表示されたら ''Boot Arch Linux (<arch>)'' を選択して {{ic|Tab}} を押してエントリを編集。 # {{ic|1=console=ttyS0,38400}} を追加して {{ic|Enter}} を押す。 # systemd によって ttyS0 が認識されシリアル getty が起動します。{{ic|root}} でログインして通常通りにインストールを行ってください。 {{note| * セットアップが完了しても、マシンのコンソール設定は保存されません。キーボードとモニターを毎回接続しなくても良いように、再起動する前にマシンの中でコンソールアクセスの設定を行ってください。 * このガイドでは例としてポート速度を 9600 としていますが、もっと高い値を使うことが推奨されます (Minicom で 'Ctrl-A' を押してから 'P' を押すことで利用可能な速度を確認できます)。}} ==トラブルシューティング== ===Ctrl-C と Minicom=== minicom で Control-C コマンドを送ったときに問題が起こる場合、デバイス設定 (minicom -s) でハードウェアフロー制御をオフにしてください。ブレークが有効になります。 ===ターミナルのサイズ変更=== ssh と異なり、シリアル接続にはターミナルのサイズを変更したときに {{ic|SIGWINCH}} を転送する機能がありません。そのため、ターミナルウィンドウのサイズを変更したときにフルスクリーンプログラム (例: {{ic|less}}) で表示が崩れてしまいます。 解決方法として {{ic|stty}} でターミナルのサイズを変えることができます: $ stty rows ''lines'' cols ''columns'' ただし上記の方法ではサイズを手動で入力する必要があります。以下の方法でサイズ変更を簡単にすることができます。 1. {{pkg|xterm}} に付属している知名度の低いユーティリティ {{ic|resize}} で問題を解決できます。ターミナルエミュレータのウィンドウのサイズを変更した後にパラメータを付けずに起動してください: $ resize 2. xterm をインストールしたくない場合、シンプルなシェル関数で同じことができます。以下の関数をシェルの設定ファイルに記述して、パラメータを付けずに実行してください: {{bc|<nowiki>rsz() { if [[ -t 0 && $# -eq 0 ]];then local IFS='[;' escape geometry x y print -n '\e7\e[r\e[999;999H\e[6n\e8' read -sd R escape geometry x=${geometry##*;} y=${geometry%%;*} if [[ ${COLUMNS} -eq ${x} && ${LINES} -eq ${y} ]];then print "${TERM} ${x}x${y}" else print "${COLUMNS}x${LINES} -> ${x}x${y}" stty cols ${x} rows ${y} fi else [[ -n ${commands[repo-elephant]} ]] && repo-elephant || print 'Usage: rsz' ## Easter egg here :) fi }</nowiki>}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Aur
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
シリアルコンソール
に戻る。
検索
検索
シリアルコンソールのソースを表示
話題を追加