============================================================================== SL-B500 にシリアルケーブル(CE-170TS)でログインしてみる。 たなかとしひさ(tosihisa@netfort.gr.jp) 最終更新:$Id: zaurus_ce170ts.txt,v 1.5 2003/01/27 02:34:44 tosihisa Exp $ ============================================================================== Linux Zaurus メーリングリスト(http://zaurus-ja.sourceforge.jp/)で知った のですが、Linux Zaurus とパソコンに、パソコン接続ケーブル「CE-170TS」を 繋ぐ事で、パソコンから LinuxZaurus にシリアル(RS-232C)経由でログイン出 来る様ですので、私も早速試してみました。 この文書は*無保証*です。あくまで、私自身が試した事について書いています。 この文書に書かれている事を実行する事により、お使いの Zaurus 環境に何か支障が 発生しても、責務を負う事は出来ません。 Table of Contents 1.シリアル(RS-232C)接続のメリット 2.準備するもの 3./etc/inittab の変更 4.Windows(TeraTerm Pro)からログインとファイルの転送 4-1.Windows から SL-B500 へログイン 4-2.Windows と SL-B500 でファイル転送 5.Linux からのログインとファイルの転送 6./etc/inittab を戻す 7.雑感 ============================================================================== 1.シリアル(RS-232C)接続のメリット 今や、イーサネットが十分に普及し、ネットワークカードも安価になりました ので、今更シリアルで繋いでも...と感じられるかもしれませんが、シリアル (RS-232C)でパソコンと Linux Zaurus を接続できれば、以下のメリットがある と思います。 (1) TCP/IP の環境に左右されない。 (2) CFカードスロットをネットワークカードのために空けておく必要が無くなる。 個人的には、CFカードスロットにネットワークカードが占有されずに済むのは、 大きな魅力だったりします。 もちろん、USB 経由で同じ事をするのも可能なのでしょうけど...、古いマシン から接続するには、有用ではないかなと思います。 ============================================================================== 2.準備するもの (1) SL-B500 :-) (2) 9pin のシリアルが出ているパソコン。25pin が出ている場合、変換アダプタ が必要です。 (3) パソコン接続ケーブル「CE-170TS」 (http://www.sharp.co.jp/sc/eihon/mij1/text/option.html) CE-170TS は、私は中古で購入しました。 ============================================================================== 3./etc/inittab の変更 ***この作業は、全て Linux Zaurus 上で行ないます。*** (1) ターミナルを起動し、su コマンドで root になります。 (2) vi /etc/inittab で、inittab を変更します。変更行は、SL-B500 であれば、 /etc/inittab 中に、 # Specify program to run on ttyS0 s0:24:respawn:/sbin/getty 9600 ttyS0 と言う文があります。この、s0 から始まるのが、シリアル接続監視プログラム (getty)の設定に関するところで、今回の変更行にあたります。 SL-B500 の場合、標準のランレベルは、 bash-2.05# /sbin/runlevel N 5 と、5 である事が分かりますが、上記の inittab の記載では、ランレベル 5 の場合、getty を起動しませんので、今のままでは、シリアル経由でログ イン出来ない状態です。 ランレベル 5 で、getty を起動させる(シリアル経由でログインさせる)には、 単に 5 を追加するだけです。 ただ、それだけですと、9600bps での接続になりますので、ここは、38400bps で接続するようにします。 # Specify program to run on ttyS0 #s0:24:respawn:/sbin/getty 9600 ttyS0 ← 元の行はコメントにします。 s0:245:respawn:/sbin/getty 38400 ttyS0 ← この様に修正します。 変更が済めば、保存して vi を終了します。 (3) init プロセスに、/etc/inittab が変更された事を通知します。 bash-2.05# /sbin/telinit q これで、init プロセスが、/etc/inittab を読み込みなおし、getty を起動 しているはずですので、ps コマンドで確認してみます。 bash-2.05# ps aux | grep getty root 10434 0.0 2.2 1716 676 ttyS0 S 05:59 0:00 /sbin/getty 38400 root 10436 0.0 1.5 1372 472 ttya0 S 06:00 0:00 grep getty /sbin/getty が起動できているようです。これで、SL-B500 側の準備は整いました。 ============================================================================== 4.Windows(TeraTerm Pro)からログインとファイルの転送 4-1.Windows から SL-B500 へログイン SL-B500 側で、getty が起動されているのを確認できれば、パソコンと SL-B500 を CE-170TS で接続し、パソコンからログインしてみる事にします。 パソコンの OS が MS-Windows系の場合、TeraTerm を使って接続すると、後述 するファイルの転送も行なえますので便利です。 #TeraTerm HomePage → http://hp.vector.co.jp/authors/VA002416/ (1) TeraTerm のインストールが済めば、TeraTerm を起動します。 この時、「New connection」のダイアログが表示されますが、ここでは ひとまずキャンセルします。 (2) TeraTerm の、"Setup" メニューを開き、"Serial port..." を選択します。 (3) Serial port setup のダイアログが表示されますので、"Port:" の所を、接続 しているポートに合わせ、"Baud rate:" の所を、38400 に合わせてから、 [OK] ボタンをクリックします。 (4) ここで、パソコン側で、おもむろに[Enter]キーを押します。 Embedix 2.0 | Linux for Embedded Devices zaurus login: この様に表示されたなら、シリアル(RS-232C)経由でログインが可能な状態です。 ユーザー名 zaurus でログインして、色々見てみましょう。 ログアウトするなら、通常の手段でログアウトし、再び上記ログインメッセー ジが表示されたなら、そのまま TeraTerm を終了すれば良いです。 4-2.Windows と SL-B500 でファイル転送 ログインが出来ても、ファイル転送が出来なければ、少々使い出に欠ける部分が あります。 幸いにも、SL-B500 には、標準で sz/rz コマンドがインストールされていました。 これは、今となっては懐かしい(^^;; ZMODEM/YMODEM/XMODEM プロトコルを使って、 ファイルの送受信が行なえるプログラムです。 #懐かしくても、私は普段から sz/rz は愛用していました(^^;;;。 TeraTerm にも、XMODEM/ZMODEM によるファイルの転送機能を持っていますので、 ここでは、ZMODEM によるファイルの転送について説明します。 --[パソコン→SL-B500にファイルを送信したい場合]-- (1) まず、シリアル(RS-232C)経由で、TeraTerm を使って、SL-B500 にログイン します。 (2) ログインが出来たら、*シリアル経由で接続した* SL-B500 のコマンドプロ ンプトで、rz コマンドを起動します。 bash-2.05$ rz rz waiting to receive.**B0100000023be50 この様に表示されたら、rz コマンドは、ZMODEM によるファイルの受信待ち に入っています。 (3) TeraTerm の "File" メニューを開き、Transfer → ZMODEM → Send を選択し ます。 すると、送信するファイルのダイアログが選択されますので、送信したいファ イルを選びます。 (4) ファイルが転送されていくはずです。もしかすると、リトライなどでうまく 動かない場合があるかもしれませんが、その時は再度繰り返してください。 --[SL-B500→パソコンにファイルを送信したい場合]-- (1) この辺は上記と同じです。 (2) ログインが出来たら、*シリアル経由で接続した* SL-B500 のコマンドプロ ンプトで、sz コマンドを起動します。 bash-2.05$ sz [送信したいファイル名] **B00000000000000 この様に表示されたら、rz コマンドは、ZMODEM によるファイルの送信待ち に入っています。 (3) TeraTerm の "File" メニューを開き、Transfer → ZMODEM → Receive を 選択します。 すると、自動的にファイルの受信が行われます。 もし、うまくパソコンが受信できなければ、再度(2)からやり直してください。 (4) 受信したファイルは、TeraTerm をインストールしたディレクトリに保存され ていると思いますので、確認してみましょう。 sz/rz によるファイルの転送は、別にシリアルからでしか出来ない訳ではなく、 telnet による接続においても、同様の事が可能ですので、ftpd が無くても、 TeraTerm を使うことでファイルの送受信が可能です。 ============================================================================== 5.Linux からのログインとファイルの転送 ...目下調査中です m(_ _)m... ============================================================================== 6./etc/inittab を戻す シリアル(RS-232C)からのログインを禁止にする(元に戻す)には、/etc/inittab を 元に戻し、/sbin/telinit q を行ないます。 ただ、それだけですと、getty 自身は、まだ生きている場合がありますので、ps コマンドで getty が生きているか調べ、生きていれば kill コマンドで getty を 停止させてください。 #init プロセスを kill してはいけません(^^;;;; ============================================================================== 7.雑感 SL-B500 に、CE-170TS が繋げられたのは、私的には、かなり嬉しいのですが、 同時に、かなり困った事があります。それは、 SL-B500 に CE-170TS を繋ぐと、Zaurus のキーボードが開かない(>_<) 事です。これは、CE-170TS のコネクタ部が、少々厚みがあり、キーボード開閉 の邪魔になるからです。私としては、キーボード入力も出来れば行ないたい所な ので、その場合は、自作に頼るかしないといけないだろう...と言う所です。