参考にしたもの(特に,一番下):

ol>

li>ソースのダウンロード

ul>

li>ftp.kernel.org より,/usr/src/linux-2.6.19.tar.bz2

li>上記 URL より,rtai-3.5.tar.bz2

/ul>

li>ソースの展開

pre>

# cd /usr/src

# bunzip2 -c linux-2.6.19.tar.bz2 | tar xvf -

/pre> rtai-3.5.tar.bz2 についても同様に展開する

li>パッチをあてる

pre>

# cd linux-2.6.19

# patch -p1 < ../rtai-3.5/base/arch/i386/patches/hal-linux-2.6.19-i386-1.7-01.patch

/pre>

li>カーネルパラメータの設定

pre>

# cp /boot/config-2.6.20-1.2312.fc5 .config

# make oldconfig (略) Interrupt pipeline (IPIPE) [Y/n/?] (NEW) (リターンキーを押す,以下,数箇所,全てデフォルトでリターンを押した)

# make menuconfig

/pre> 編集例:

ul>

li>Lodable module support → Module versioning support を外す.(マニュアルに指示あり)

li>Processor type and features

ul>

li>Subarchtecture Type: PC-compatible

li>Processor family: Pentium-Pro → Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (/proc/cpuinfo を参照)

li>Use register arguments を外す.(マニュアルに指示あり)

/ul>

li>Networking

ul>

li>IrDA 外す

li>Bluetooth 外す

/ul>

li>Device Drivers

ul>

li>IEEE1394 外す

li>ISDN 外す

li>Multimedia 外す

li>Sound 外す

li>MMC support 外す

li><font color="red">Multi-device support (RAID and LVM) は外してはいけない(ブート時に,論理デバイス /dev/VolGroup00/LogVol01 等にアクセスできず,カーネルパニックになる.また,その中の RAID support は <M> でなく,<*> とすること.<M> にすると,カーネルパニックになる.</font>

/ul>

/ul> (コンパイル時間短縮のため,他にも不要なオプションを外すべき)

br>

br>

li>カーネルとモジュールのコンパイル

pre>

# make

/pre>

li>モジュールのインストール

pre>

# make modules_install

/pre>

font color="red">この手続きは後の make install に含まれているはずだが,再コンパイル後の make install では,モジュールがインストールされないことがあるので,明示的にインストールする方が無難.</font>

br>

br>

li>カーネル,test用プログラム等のインストール(この際に /etc/grub.conf にエントリが追加更新される)

pre>

# make install

/pre>

li>リブート.

li>RTAI のコンパイル

pre>

# cd /usr/src

# ln -s linux-2.6.19 linux (このシンボリックリンクがないと,make menuconfig がエラーになる)

# cd /usr/src/rtai-3.5

# make menuconfig Machine (x86) ---> Number of CPUs を 2→1 に変更

# make

# make install

/pre>

li>テストプログラムの実行

pre>

# cd /usr/realtime/testsuite/kern/latency/

# ./run

Type ^C to stop this application.

## RTAI latency calibration tool ##

# period = 100000 (ns)

# avrgtime = 1 (s)

# do not use the FPU

# start the timer

# timer_mode is oneshot

RTAI Testsuite - KERNEL latency (all data in nanoseconds) RTH| lat min| ovl min| lat avg| lat max| ovl max| overruns RTD| -1968| -1968| 537| 5877| 5877| 0 RTD| -1971| -1971| 702| 5797| 5877| 0 RTD| -1975| -1975| 540| 6363| 6363| 0 RTD| -1975| -1975| 746| 6714| 6714| 0 RTD| -1976| -1976| 503| 6072| 6714| 0 RTD| -1976| -1976| 503| 6072| 6714| 0

/pre>

font color="red">ACPI が有効になっていると overrunsが大量に出ることがある.その場合は /etc/grub.conf 中,カーネルパラメータで acpi=off を指定する.もしくは,カーネルのコンパイルオプションで,最初から ACPI を外しておいてもいいかもしれない</font>

br>

br>

li>リブート後,デバイスファイルが消えてしまうのに対処する(/usr/src/rtai-3.5/README.INSTALL に記載あり)<br> 以下を,/etc/rc.d/rc.local 最後に追記:

pre> if test \! -c /dev/rtai_shm; then

       mknod -m 666 /dev/rtai_shm c 10 254

fi for n in `seq 0 9`; do

       f=/dev/rtf$n
       if test \! -c $f; then
               mknod -m 666 $f c 150 $n
       fi

done

/pre>

li> TODO: freqresp


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS