Difference between revisions of "LXRT-Howto"

From Mca2
Jump to navigationJump to search
(erster Entwurf)
 
 
(14 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
This section gives a step by step example on how LXRT could be used with mca2.
 
This section gives a step by step example on how LXRT could be used with mca2.
  
=== Download and Patching ===
+
=== Compiling ===
* Create a directory of your choice
+
* [[kernel_2_4_29_rtai_3_2| kernel 2.4.29 and rtai 3.2]]
{{cmd|[~]$ mkdir /tmp/rtai-test}}
+
* [[kernel_2_4_32_rtai_3_3| kernel 2.4.32 and rtai 3.3]]
{{cmd|[~]$ cd /tmp/rtai-test}}
 
* Download MCA2 from [[File:mca2.4-beta.tgz|http://mca2.sf.net]]
 
{{cmd|[/tmp/rtai-test]$ tar xzf mca2.4-beta.tgz}}
 
* Download the [[File:linux-2.4.29.tar.bz2|linux kernel 2.4.29]] from ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2:
 
{{cmd|[/tmp/rtai-test]$ tar xjf linux-2.4.29.tar.bz2}}
 
* Download [[File:rtai-3.2.tar.bz2|rtai3.2 (vulcano)]] from http://www.rtai.org/modules.php?name=Downloads&d_op=viewdownload&cid=1
 
{{cmd|[/tmp/rtai-test]$ tar xjf rtai-3.2.tar.bz2}}
 
* Download [[File:adeos-linux-2.4.29-i386-r16.patch|adeos-patch]] corresponing to the kernel at http://download.gna.org/adeos/patches/v2.4/i386/
 
{{cmd|[/tmp/rtai-test]$ mv adeos-linux-2.4.29-i386-r16.patch rtai3.2/base/arch/i386/patches/}}
 
{{cmd|[/tmp/rtai-test]$ cd linux-2.4.29}}
 
{{cmd|[/tmp/rtai-test/linux-2.4.29]$ patch -p1 < ../rtai-3.2/base/arch/i386/patches/adeos-linux-2.4.29-i386-r16.patch}}
 
* Build the linux kernel. [[File:linux-2.4.29-mca-kernel-configThis is the kernel config we use.
 
  
* Patch rtai3.2 with the mca2 patch:
+
=== Installing ===
{{cmd|[/tmp/rtai-test]$ cd rtai3.2}}
+
* Install your kernel/modules
{{cmd|[/tmp/rtai-test/rtai3.2]$ patch -p1 < ../mca2/etc/mca2-rtai3.2.patch}}
+
* boot your rtai-enabled system
*
+
* Copy the compiled rtai modules (rtai_hal.o/ko, rtai_lxrt.o/ko, rtai_sem.o/ko and rtai_serial.o/ko) and the mca module (mca_lxrt_extension.o/ko) to your module directory<br>
 +
<pre>
 +
  [~]$ cd /tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules
 +
  [/tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules]$ mkdir /lib/modules/LINUX_VERSION/kernel/rtai <br>
 +
  [/tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules]$ cp rtai_hal.MOD_EXT rtai_lxrt.MOD_EXT rtai_sem.MOD_EXT rtai_serial.MOD_EXT /lib/modules/LINUX_VERSION/kernel/rtai <br>
 +
  [/tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules]$ cd /tmp/rtai-test/mca2.4.x <br>
 +
  [/tmp/rtai-test/mca2.4.x]$ cp export/i686_Linux_telelift_debug/mca_lxrt_extension.MOD_EXT /lib/modules/LINUX_VERSION/kernel/rtai <br>
 +
  [/tmp/rtai-test/mca2.4.x]$ depmod -a
 +
</pre>
 +
:Note: if you copy all compiled rtai modules into the kernel module directory make sure to set the link rtai_ksched.MOD_EXT to rtai_lxrt.MOD_EXT to be sure the correct scheduler is taken on modprobe.
 +
* Load kernel modules (easiest modprobe way)
 +
<pre>
 +
  [~]$ modprobe mca_lxrt_extension
 +
</pre>
 +
* Load kernel modules (step by step insmod way) <br>
 +
:If you have an adeos kernel with adeos compiled as module, first you need to insmod that
 +
<pre>
 +
  [~]$ insmod adeos
 +
</pre>
 +
:In all cases you then have to insmod the following
 +
<pre>
 +
  [~]$ insmod rtai_hal
 +
  [~]$ insmod rtai_lxrt
 +
  [~]$ insmod rtai_sem
 +
  [~]$ insmod mca_lxrt_extension
 +
</pre>
 +
* If using the rtai_serial driver in your MCA-program you also have to insmod that module:
 +
<pre>
 +
  [~]$ insmod rtai_serial
 +
</pre>
 +
:Or with individual configuration parameters e.g.:
 +
<pre>
 +
  [~]$ <nowiki> insmod rtai_serial spconfig=0x02f8,3,0xd400,14,0xd000,14 spbufsiz=0x4000 </nowiki>
 +
</pre>
 +
 +
=== Testing ===
 +
* Test it
 +
<pre>
 +
  [/tmp/rtai-test/rta]$ time_test
 +
</pre>
 +
:Call time_test twice with --no-lxrt and compare the summarized measured time values.

Latest revision as of 15:02, 2 July 2010

LXRT-HOWTO

This section gives a step by step example on how LXRT could be used with mca2.

Compiling

Installing

  • Install your kernel/modules
  • boot your rtai-enabled system
  • Copy the compiled rtai modules (rtai_hal.o/ko, rtai_lxrt.o/ko, rtai_sem.o/ko and rtai_serial.o/ko) and the mca module (mca_lxrt_extension.o/ko) to your module directory
  [~]$ cd /tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules 
  [/tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules]$ mkdir /lib/modules/LINUX_VERSION/kernel/rtai <br>
  [/tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules]$ cp rtai_hal.MOD_EXT rtai_lxrt.MOD_EXT rtai_sem.MOD_EXT rtai_serial.MOD_EXT /lib/modules/LINUX_VERSION/kernel/rtai <br>
  [/tmp/rtai-test/rtai-RTAI_VERSION-linux-LINUX_VERSION-install/modules]$ cd /tmp/rtai-test/mca2.4.x <br>
  [/tmp/rtai-test/mca2.4.x]$ cp export/i686_Linux_telelift_debug/mca_lxrt_extension.MOD_EXT /lib/modules/LINUX_VERSION/kernel/rtai <br>
  [/tmp/rtai-test/mca2.4.x]$ depmod -a
Note: if you copy all compiled rtai modules into the kernel module directory make sure to set the link rtai_ksched.MOD_EXT to rtai_lxrt.MOD_EXT to be sure the correct scheduler is taken on modprobe.
  • Load kernel modules (easiest modprobe way)
  [~]$ modprobe mca_lxrt_extension
  • Load kernel modules (step by step insmod way)
If you have an adeos kernel with adeos compiled as module, first you need to insmod that
  [~]$ insmod adeos
In all cases you then have to insmod the following
  [~]$ insmod rtai_hal
  [~]$ insmod rtai_lxrt
  [~]$ insmod rtai_sem
  [~]$ insmod mca_lxrt_extension
  • If using the rtai_serial driver in your MCA-program you also have to insmod that module:
  [~]$ insmod rtai_serial
Or with individual configuration parameters e.g.:
  [~]$  insmod rtai_serial spconfig=0x02f8,3,0xd400,14,0xd000,14 spbufsiz=0x4000 

Testing

  • Test it
  [/tmp/rtai-test/rta]$ time_test
Call time_test twice with --no-lxrt and compare the summarized measured time values.