# cd /usr/src # bunzip2 -c linux-2.6.20.21.tar.bz2 | tar xvf - # bunzip2 -c rtai-3.6.1.tar.bz2 | tar xvf - # cd linux-2.6.20.21 # patch -p1 < ../rtai-3.6.1/base/arch/i386/patches/hal-linux-2.6.20.21-i386-1.12-03.patch patching file Makefile patching file arch/i386/Kconfig (略) patching file mm/mlock.c patching file mm/vmalloc.c
# cp /boot/config-2.6.20-1.2320.fc5 .config # make oldconfig (略) Interrupt pipeline (IPIPE) [Y/n/?] (NEW) (リターンキーを押す,計4箇所,全てデフォルトでリターンを押す) # make menuconfig (以下,順不同,要修正) * Lodable module support → Module versioning support を外す.(マニュアルに指示あり) * Processor type and features o Subarchtecture Type: PC-compatible o Processor family: Processor family : Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon o Toshiba Laptop support 外す o Dell laptop support 外す * Bus options (PCI, PCMCIA, EISA, MCA, ISA) o PCCard(PCMCIA/CardBus) support 外す * Power management support o ACPI Support 外す o APM BIOS Support 外す o CPU Frequency scaling 外す * Networking o IrDA 外す o Bluetooth 外す o Networking option Network packet filtering framework (Netfilter) 外す DDCP Configuration (EXPERIMENTAL) 外す SCTP Configuration (EXPERIMENTAL) 外す TIPC Configuration (EXPERIMENTAL) 外す Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) 外す DECnet: router support (EXPERIMENTAL) 外す The IPX protocol 外す Appletalk protocol support 外す WAN route 外す QoS and/or fair queueing 外す Network testing 外す * Device Drivers o IEEE1394 外す o ISDN 外す o Telephony Support 外す o Sound 外す o Multimedia devices 3つ全て外す o MMC/SD Card support 外す Parallel port support 外す Fusion MPT device support 全部外す Machintosh device drivers 全部外す Character devices Watchdog Cards 外す Sony Vaio Programmable I/O Control Device support 外す USB support 外す(外れていると思ってた) DMA Engine support 外す o EDAC 外す o Virtualization 外す
[[./../RTAI/.config]]
&ref(): File not found: "../RTAI/" at page "RTAIのインストール";
&ref(): File not found: "RTAI/" at page "RTAIのインストール";
# make # make modules_install # make install
# 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
## 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 254fi for n in `seq 0 9`; do
f=/dev/rtf$n if test \! -c $f; then mknod -m 666 $f c 150 $n fidone
/pre>
li> TODO: freqresp