| index | section 1 | section 2 | section 3 | section 4 | section 5 | section 6 |
| bibrography | appendix A | appendix B | appendix C |
Real-Time Linux (以下 RTLinux)は linuxカーネルにパッチを当てた 形で使用するため, RTLinuxのバージョンは linuxカーネルのバージョンに応じて
というように使い分ける必要がある。 私たちが現在使用しているカーネルはほぼ 2.2.x系列なので RTLinuxも Ver.2 を使用したいのだが、 世間に出回っているRTLinuxの資料は Ver.1 について書かれたものが多く、 Ver.2 について書かれた資料はまだ少ない。 したがって, 手に入る資料に沿ってVer.1 の書式でプログラムを書くためには 現在使用しているlinuxカーネルのバージョンを下げなければならない という問題が発生する。
そこで、本解説では RTLinux Ver.2 で Ver.1 のソースコードを動かしてしまう という裏技について述べる。 実は Ver.2 には Ver.1 との互換性を持たせるための仕組みがはじめから 備わっているため、わざわざカーネルのバージョンを下げなくても linux-2.2.x + rtlinux-2.0 のカーネルのまま Ver.1 の書式で プログラムを動かすことができるのである。(このことは、tgzファイルを展開したときにできる説明のファイルを読めば書いてある)
カーネルをコンパイルする前に Ver.1 を使用するためのオプションを選択する 必要がある。 RTLinuxのインストールだけを説明したWeb site は山ほどあるので インストールに関する詳しい説明はそちらを参照してほしい。 ここではすでに ftp.rtlinux.com あたりから rtlinux-2.0-prepatched.tgz を入手してきたものとして話を進める。
まず、スーパーユーザ( root )になって適当な場所にファイルを展開する。 どこでも良いのだが, /usr/src あたりが普通だろう。
|
ファイルを展開して出てくる README, INSTALL, GettingStarted.txt, FAQ 等は RTLinuxに対する今後の理解を助けてくれるので軽く目を通しておこう。
Ver.2 を Ver.2 の書式のまま使用する場合はここから普通に カーネルのコンパイルに入って良いが, Ver.1 互換で使用する場合には ここで Ver.1 互換オプションの設定をする。 この互換オプションの設定は rtl_conf.h のコメント文をはずすことで有効になる。
|
と入力して, /* #define CONFIG_RTL_USE_V1_API 1 */ となっているコメント文を解放して有効にする。 これ以降は普通にカーネルをコンパイルする手順でよい。
|
ここでは
|
を忘れずにチェックしておこう。 その後,
|
とでもしておけば良い。 ここら辺は人によって流儀が違ったりするので, 好みに応じてコンパイル & インストールしてほしい。 これでカーネルのインストールは終わったが,仕事はまだ終りではない。 再起動したら、
|
と入力して, 最後の締めくくりとして MANPATH の追加を行う。 RTLinux には man ページがついているので MANPATH に /usr/src/rtlinux-2.0/rtl/man を追加しておこう。 ここまでやってやっと一段落となる。
正常に RTLinux がインストールされたかどうかを確認するために サンプルプログラムを実行してみよう。 Ver.2 のサンプルプログラムは /usr/src/rtlinux-2.0/rtl/examples に、 Ver.1 互換のサンプルプログラムは /usr/src/rtlinux-2.0/rtl/examples/compat にある。
手始めに frank というディレクトリにあるサンプルプログラムから make して 実行してみよう。 このプログラムには これからリアルタイム処理プログラムを開発していく上で最も基本となる タスク管理やプロセス間通信といった要素が含まれているので, 是非始めに実行させて動作を確認してもらいたい。
なお、Ver.1 互換モードにしてしまった場合, Ver.2 のサンプルプログラムは 動作しないことを最後に付け加えておく。