在ubuntu 12.04 下安装RTAI 4.1

1 安装环境

linux版本:ubuntu 12.04

内核版本:3.13.0-32-generic

2 准备文件

下载以下文件,拷至本机目录下(我拷到了/home/lb/InstallFile):

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_i386.deb

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_i386.deb

https://www.rtai.org/userfiles/downloads/RTAI/rtai-4.1.tar.bz2

https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz

3 切换至root用户

以后的许多操作要用root用户权限,如果不想切换可以在命令前加“sudo”。

如果是第一次使用root用户,可能需要为root设置密码,命令如下:

$ sudo passwd root
[sudo] password for lb: (输入当前用户密码)
输入新的 UNIX 密码:(输入root密码)
重新输入新的 UNIX 密码: (再次输入root密码)
passwd:已成功更新密码

进入root用户:

lb@lb-hccs:~$ su
密码:
root@lb-hccs:/home/lb#

4 安装3.16内核

进入安装文件目录:
root@lb-hccs:/home/lb# cd InstallFile
root@lb-hccs:/home/lb/InstallFile# 

安装内核文件:
root@lb-hccs:/home/lb/InstallFile# dpkg -i linux-headers-3.16*.deb linux-image-3.16*.deb

重启:
root@lb-hccs:/home/lb/InstallFile# reboot

重启进入系统后,使用一下命令查看是否已经更换了版本:
lb@lb-hccs:~$ uname -r
3.16.0-031600-generic

5 拷贝和链接内核源文件

拷贝文件:

lb@lb-hccs:~$ su
密码:
root@lb-hccs:/home/lb# cd /usr/src
root@lb-hccs:/usr/src# cp /home/lb/InstallFile/linux-3.16.tar.xz .   (注意命令最后有个点“.”)
root@lb-hccs:/usr/src# cp /home/lb/InstallFile/rtai-4.1.tar.bz2 .      (注意命令最后有个点“.”)

root@lb-hccs:/usr/src# cp /home/lb/InstallFile/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_i386.deb ./linux-image-3.16.0-generic-i386.deb

解压文件:

root@lb-hccs:/usr/src# tar -jxvf rtai-4.1.tar.bz2

root@lb-hccs:/usr/src# tar -Jxvf linux-3.16.tar.xz

root@lb-hccs:/usr/src# dpkg-deb -x linux-image-3.16.0-generic-i386.deb linux-image-3.16.0-generic-i386

链接文件:
root@lb-hccs:/usr/src# ln -s linux-3.16 linux

root@lb-hccs:/usr/src# ln -s rtai-4.1 rtai

6 安装所需软件包

6.1 通用

root@lb-hccs:/usr/src# apt-get install cvs subversion build-essential git-core g++-multilib gcc-multilib

6.2 RTAI

root@lb-hccs:/usr/src# apt-get install libtool automake libncurses5-dev kernel-package

6.3 scilab 5.5.0

root@lb-hccs:/usr/src# apt-get install default-jre docbook-xsl fop javahelp2 libavalon-framework-java libbatik-java libfftw3-3 libflexdock-java libgfortran3 libhdf5-7 libjeuclid-core-java libjgoodies-looks-java libjgraphx-java libjhdf5-java libjlatexmath-fop-java libjlatexmath-java libjogl-java libjrosetta-java liblapack3gf libncurses5 libpcre3 libpvm3 libquadmath0 libsaxon-java libskinlf-java libstdc++6 libtinfo5 libxml2 tcl8.5 tk8.5 zlib1g libgcc1 libc6 libblas-dev libblas3gf libatlas3gf-base gfortran liblapack-dev

6.4 qrtailab

root@lb-cnc:/usr/src# apt-get install libqt4-dev libqwt5-qt4-dev

7 编译RIAI内核

7.1 拷贝ubuntu内核3.16源文件

root@lb-hccs:/usr/src# cp /usr/src/linux-image-3.16.0-generic-i386/boot/config-3.16.0-031600-generic /usr/src/linux/.config

7.2 给内核打补丁

root@lb-hccs:/usr/src# cd linux

root@lb-hccs:/usr/src/linux# patch -p1 < /usr/src/rtai/base/arch/x86/patches/hal-linux-3.16-x86-3.patch

7.3 配置内核

root@lb-hccs:/usr/src/linux# make menuconfig

Set up the kernel settings as follows

Processor type and features
    -> Processor family = Select yours
    -> Maximum number of CPUs (NR_CPUS) = Set your number (it's generally "4")
    -> SMT (Hyperthreading) scheduler support = DISABLE IT
Power Management and ACPI options
    ACPI (Advanced Configuration and Power Interface) Support  = DISABLE IT
    CPU idle PM support = DISABLE IT

8 build

root@lb-cnc:/usr/src# make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-rtai

9 install

root@lb-hccs:/usr/src/linux# cd ..
root@lb-hccs:/usr/src/linux# dpkg -i linux-image-3.16.0-rtai_3.16.0-rtai-1_i386.deb
root@lb-hccs:/usr/src/linux# dpkg -i linux-headers-3.16.0-rtai_3.16.0-rtai-1_i386.deb

10 修改grub配置,设定RTAI为默认启动项

root@lb-hccs:/usr/src/linux#vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash lapic=notscdeadline"
GRUB_DEFAULT="GRUB_DEFAULT="Previous Linux versions>Ubuntu,Linux 3.16.0-rtai"     (这里的内容需要根据自己电脑的实际情况进行配置)

root@lb-hccs:/usr/src/linux#update-grub  (更新配置,使其生效)

11 重启电脑,从Ubuntu,Linux 3.16.0-rtai选项进入系统

进入系统后,查询当前系统内核,应该是“3.16.0-rtai”。

root@lb-hccs:/home/lb# uname -r
3.16.0-rtai

12 安装RTAI

使用root用户执行以下操作:

root@lb-hccs:/home/lb# cd /usr/src/rtai
root@lb-hccs:/home/lb# make menuconfig
Machine(86) --> Number of CPUs (使用“lscpu”命令查看你的CPU数,修改这个参数,然后退出。)
root@lb-hccs:/home/lb# make -j `getconf _NPROCESSORS_ONLN`
root@lb-hccs:/usr/src/rtai# install
root@lb-hccs:/usr/src/rtai# make install
root@lb-hccs:/usr/src/rtai# vim ~/.bashrc

在~/.bashrc文件中添加以下几行:

export PATH=/usr/realtime/bin:$PATH 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/realtime/lib

使用新的环境变量:

root@lb-hccs:/usr/src/rtai# source ~/.bashrc

新建RTAI配置文件:

root@lb-hccs:/usr/src/rtai# vim /etc/ld.so.conf.d/rtai.conf

在其中添加如下内容:

/usr/realtime/lib

使配置文件生效:

root@lb-hccs:/usr/src/rtai# ldconfig

13 运行latency test

root@lb-hccs:/usr/src/rtai# cd /usr/realtime/testsuite/kern/latency
root@lb-hccs:/usr/src/rtai# ./run

RTAI Testsuite - KERNEL latency (all data in nanoseconds)
RTH|    lat min|    ovl min|    lat avg|    lat max|    ovl max|   overruns
RTD|      -1816|      -1816|      -1769|        905|        905|          0
RTD|      -1810|      -1816|      -1769|        807|        905|          0
RTD|      -1810|      -1816|      -1773|      -1242|        905|          0
RTD|      -1808|      -1816|      -1769|        915|        915|          0
RTD|      -1810|      -1816|      -1773|      -1109|        915|          0
RTD|      -1810|      -1816|      -1767|        920|        920|          0

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值