*ロボットおよび関係するコンピュータの設定((以下の情報はUNIX MAGAZINE連載の「ロボットのある暮らし」に非常にお世話になりました.もちろん,当情報の責任は全て当研究室にありますので連絡は当研究室まで.)) [#o8f27b09] ---- #contents ---- **ターミナルの設定&aname(terminal_setting); [#v698cebc] ***ロボットへのアクセスの基本 [#x31cc9fc] ロボットにアクセスするためには二種類の方法がある.一つはネットワーク経由で普段はこの方法を用いる.もう一つはRS-232Cケーブル経由での接続である.RS-232C経由はプリミティブであるが基本的にどのような場合でも使用できる.故に初期設定用・緊急用として非常に重要な方法である.~ RS-232C経由でのアクセスの代表としてWindowsのターミナルを用いた方法がある.以下にターミナルの設定を示す.詳しくはマニュアル参照のこと. ***ターミナルの設定 [#x8c7f8bd] -ハイパーターミナルの設定 --ポート:com1(またはcom2だろう) --通信速度:9600bps --パリティ:なし --ストップビット:1 --データ長:8ビット --フロー制御:なし **ロボットの基本設定 [#f5b5f062] ロボットの設定を行うためにはターミナルを設定し,RS-232C経由でロボットにアクセスする必要がある.まずは[[ターミナルの設定>#terminal_setting]]から.~ それが済むとロボットの設定であるが,そのほとんど(全て?)はNetBSD1.6.2の設定である.故に,[[unix/設定/システム]]に記述している設定を必要に応じて行う.ただし,万が一取り返しがつかなくなったら(起動しなくなったり)致命的である.普通のPCの場合,最終手段として再インストールという手段が残されているが,Speecysの場合はそれができないからである.この場合,メーカに修理をお願いすることになる. **プログラム開発用PCの作成 [#afe84a41] -[[NetBSDをインストール>コンピュータ系]] --telnet,ftpでロボットと繋がることを確認 -[[gmakeをインストール>コンピュータ系/ソフトウェア/gmake]] -[[binutilsをインストール>コンピュータ系/ソフトウェア/binutils]] -sandpointのinclude,libをbinutilsをインストールしたディレクトリにコピー --だいたい/usr/local/powerpc-netbsd/ -[[gccをインストール>コンピュータ系/ソフトウェア/gcc]] --powerpc-netbsd用のクロスコンパイラの作成 --わかりやすい名前でシンボリックリンクを張っておくと楽 -Speecysより提供されている開発キットを設置 --例:/speecys/local/以下に展開 --例:include, libが必要であり,各バージョンごとに名前をつけておく ---include -> include1009 (Ver.1.0.0.9をシンボリックリンク) ---include1006 ---include1009 ---lib -> lib1009 (Ver. 1.0.0.9をシンボリックリンク) ---lib1006 ---lib1009 -開発用IDの設定 --include/speecysid.hに記載 ---idはライセンスに書いてある. ---[[開発用ライセンスキー>./lab_limit/ライセンス]] -コンパイルテスト --適当なプログラム(例:a.c)をつくり[[テスト>Speecysロボット/プログラミング関係]] **NFSマウントで楽ちん&aname(NFS_mount); [#e19c851e] [[Sandpoint>#sandpoint]]をNFSサーバに置き,ロボット側でマウントすることで -標準的なコマンドがいっぱい使える -作成したプログラムをFTPで送らずに済む などの利便を実現する.~ #ref(sandpoint_mount.jpg,center,zoom,70%) ***目標:Sandpointのコマンド群をNFS経由で使用 [#b00a8317] -Speecysロボット上でsuをコピー --cp /usr/bin/su /bin ---ロボットのsuでないといけない(?)ので/binに退避させておく. --[[シェル環境設定ファイル>unix/設定/ファイル/シェル環境設定ファイル]]でPATHの順番を確認 ---/usr/binより/binが優先されているか -[[NFSサーバを用意>unix/設定/システム#nfs_setting]]. -NFSサーバ上に[[Sandpointを準備>#sandpoint_setting]]. -Sandpointの/usr上にSpeecysロボットの/usrを上書きコピー -[[SpeecysロボットにてNFSサーバ上にあるSandpointのusrをマウント>unix/設定/システム#nfs_setting]] --NFSサーバ:/etc/[[exports>unix/設定/ファイル/exports]] ---~ ~[[-mapall=root>unix/設定/ファイル/exports#mapall]]を用いる. -Speecysロボット上で[[マウントテスト>unix/設定/システム#nfs_setting]]. --手動マウントの例:mount -t nfs nfsserver:/usr/home/speecys/usr /usr -おまけ --自分でプログラム開発などを行う場合,自動実行される/root/bin以下のファイルなどが邪魔.そこで,自分用の/rootを作成.オリジナルの/rootを/root_originalとし,必要に応じてfstabでマウントの切替を行ってやる. ---NFSサーバ上にロボットの/rootを/root,/root_originalとしてコピー ---NFSサーバ:/rootを好きなように変更 ---NFSサーバ:/etc/[[exports>unix/設定/ファイル/exports]] ---ロボットのfstabでマウント ---nfsserver:/root /root nfs rw 0 0 ---#nfsserver:/root_original /root nfs rw 0 0 ---のような形で切替 ***目標:各ユーザのホームディレクトリをマウント [#b3deff2f] SandpointをNFS経由で使用すると自動的にホームディレクトリもマウントされる(ホームディレクトリが/usr/homeなので). **NIS使用でうれしいユーザ管理 [#y96f5e96] -[[Sandpointの準備>#sandpoint_setting]]. -Sanpointのusrにある以下のファイルをSpeecysロボットの/usr以下にコピー(NFSマウント前に必要) --/usr/sbin/rpcbind --/usr/sbin/ypbind --(/usr/sbin/rpc* いらないかも) --(/usr/bin/yp* いらないかも) -[[NISの設定>unix/設定/システム#nis_setting]] -[[SpeecysロボットでNFSマウント(ホームディレクトリをNFSマウントする場合)>#NFS_mount]] --/usr/homeから/にシンボリックリンクを張っておく. ---ln -s /usr/home /home ---/homeがユーザディレクトリとなるシステムもあるため **Sandpointとは&aname(sandpoint); [#jeccae41] #include(コンピュータ系/ソフトウェア/NetBSD/sandpointとは,notitle); ***Sandpointの準備&aname(sandpoint_setting); [#f69edb79] #include(コンピュータ系/ソフトウェア/NetBSD/speecysのためのsandpointの準備,notitle);