* 必要なもの [#p83bb874]
- PC (Dell PowerEdge 840 を使用.FC5 をインストールしておく)
- linux カーネルのソース ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.21.tar.bz2
- RTAI のソース(2008.6月現在,最新版は 3.6.1) https://www.rtai.org/RTAI/rtai-3.6.1.tar.bz2

* 参考にしたもの [#kde7a0b7]
- [[RTAI3.4 User Manual rev 0.3>https://www.rtai.org/index.php?module=documents&JAS_DocumentManager_op=downloadFile&JAS_File_id=46]]
- http://kojima.plala.jp/rtai.html
- https://mail.rtai.org/pipermail/rtai/2006-February/014410.html RTAI を Fedora Core にインストールする話
- https://mail.rtai.org/pipermail/rtai/2006-September/015985.html
- http://www.blogger.com/feeds/5740550295288139350/posts/default/4404957623563932948 subarchtecture を PC-compatible に設定する必要がある,という記述
- http://www-online.kek.jp/~yasu/Kouryukai02/odagiri-presentation.pdf RTLinux 他,Real Time OS の比較
- http://forums.fedoraforum.org/showthread.php?t=149968 具体的なインストール手順について

* インストール手順 [#r8d4d939]
+ linuxカーネルとRTAIのソースを /usr/src/ におく.
+ ソースを展開してパッチをあてる
 # 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
gccがインストールされていない場合、エラーになる。その場合はgccをインストールすること。[[gccのインストール]]
 (〜上記のつづき)
 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 options (ACPI, APM)
	  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 外す 
          o Parallel port support 外す
          o Fusion MPT device support 全部外す
          o Machintosh device drivers 外す
          o Character devices
                Watchdog Cards 外す
		Sony Vaio Programmable I/O Control Device support 外す
          o USB support 外す
          o DMA Engine support 外す
          o EDAC 外す
	  o Virtualization 外す
-- 編集結果 [[.config>/:RTAI/.config]]
+ コンパイル・インストール
 # make
 # make modules_install
 # make install
+ リブート
+ BIOSの設定
 Integrated Devices
        Diskette Controller ... Off
 	Embedded Gb NIC ... Enabled without PXE
        USB Controller ... Off
 CPU Information
 	Logical Processor ... Enabled → Disabled
 	Adjacent Cache Line Prefetch ... Enabled → Disabled
 	Hardware Prefetcher ... Enabled → Disabled
 Report Keyboard Errors ... Do Not Report
 
+ BIOSの設定終了後、リブート続行。grub の画面で、2.6.20.21を選択。(2.6.20-1.2320.fc5等は、Fedora Core に最初から入っているものなので、選択しない)
+ RTAI 本体のコンパイル・インストール
 # cd /usr/src
 # ln -s linux-2.6.20.21 linux (既にシンボリックリンクが存在する場合は、一度消してからリンクを張ること)
 # cd rtai-3.6.1
 # make menuconfig
 Machine (x86) ---> Number of CPUs を 2→1 に変更
 # make
 # make install
+ テストプログラムの実行
 # 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|      -2023|      -2023|        -51|      16120|      16120|          0
 RTD|      -2014|      -2023|        -58|      16010|      16120|          0
 RTD|      -2014|      -2023|        -89|      15956|      16120|          0
 RTD|      -2014|      -2023|        -51|      16202|      16202|          0
 RTD|      -2014|      -2023|        -98|      16056|      16202|          0
 RTD|      -2014|      -2023|        -65|      16066|      16202|          0
 RTD|      -2014|      -2023|        -97|      16082|      16202|          0
 RTD|      -2014|      -2023|        -61|      16065|      16202|          0
 RTD|      -2014|      -2023|        -90|      15183|      16202|          0
 RTD|      -2014|      -2023|        -66|      16184|      16202|          0
 RTD|      -2014|      -2023|       -106|      16059|      16202|          0
 RTD|      -2014|      -2023|        -62|      16092|      16202|          0
 RTD|      -2014|      -2023|        -78|      16133|      16202|          0
 RTD|      -2014|      -2023|        -57|      16077|      16202|          0
 RTD|      -2014|      -2023|        -96|      15986|      16202|          0
 RTD|      -2014|      -2023|        -73|      16020|      16202|          0
 RTD|      -2014|      -2023|        -90|      15986|      16202|          0
 RTD|      -2014|      -2023|        -57|      15925|      16202|          0
 RTD|      -2014|      -2023|       -100|      16069|      16202|          0
 RTD|      -2108|      -2108|        -71|      16020|      16202|          0
 RTD|      -2014|      -2108|        -82|      16149|      16202|          0
 RTH|    lat min|    ovl min|    lat avg|    lat max|    ovl max|   overruns
 RTD|      -2014|      -2108|        -77|      16140|      16202|          0
 RTD|      -2014|      -2108|        -81|      16059|      16202|          0
 RTD|      -2014|      -2108|        -81|      16059|      16202|          0
 
overruns が 0 になっていればOK.
+ /etc/rc.local に以下、追記
 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
+ 一般ユーザが実験できるようにする 
 # chmod u+s /sbin/insmod
 # chmod u+s /sbin/rmmod 
 # chmod u+s /bin/mknod
 # vi /etc/sudoers
 ALL     ALL=(ALL)       NOPASSWD: ALL
 (1行追加)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS