红联Linux门户
Linux帮助

xenomai在ubuntu上的安装测试

发布时间:2016-12-08 11:19:34来源:blog.csdn.net/woshidahuaidan20作者:bigPillow
在ubuntu下安装安装xenomai试试系统。
 
背景:
1、全新的ubuntu系统,我安装了一些必要的软件比如gcc g++等等
2、版本信息为:
hello@hello-Lenovo:~$ cat /etc/issue
Ubuntu 14.04.4 LTS \n \l
hello@hello-Lenovo:~$ uname -a
Linux hello-Lenovo 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:42 UTC 2016 i686 i686 i686 GNU/Linux
 
由于xenomai没有针对3.19的补丁xenomai仅支持特定版本的几个内核因此,我们需要修改ubuntu的内核到指定的版本。因此我们需要做两件事情:
1、给ubuntu换新的内核
2、安装xenomai2.6
 
首先就需要下载xenomai源码了,为了和其他的程序兼容我们选择xenomai2.6
下载网址在:http://git.xenomai.org/xenomai-2.6.git/
xenomai在ubuntu上的安装测试
这里就选择2.6.4
hello@hello-Lenovo:~/work/ubuntu$ wget http://download.gna.org/xenomai/stable/xenomai-2.6.4.tar.bz2
下载完毕之后就可以解压了:
hello@hello-Lenovo:~/work/ubuntu$ tar -xf xenomai-2.6.4.tar.bz2
解压完毕进入xenomai源码:
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$ cd xenomai-2.6.4   
 
此时我们需要一些工具,进行安装:
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$ sudo apt-get install devscripts devscripts debhelper dh-kpatches findutils autotools-dev autoconf automake libtool
 
安装完毕之后,就可以做个安装包了:
安装完毕之后,就可以进行编译了,我们使用默认的配置的就可以了,假如在其他的平台上使用就需要./configure 来进行对应的配置了。
 
接下来我们编译
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$ make 
完成之后安装
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$ make install
 
xenomai暂时完毕接下来开始编译内核。
下面开始编译内核,此时也需要安装几个工具:
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$ sudo apt-get install kernel-package libncurses-dev fakeroot zlib1g-dev
 
接下来下载源码包然后解压:
hello@hello-Lenovo:~/work/ubuntu$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.17.tar.xz && tar -xf linux-3.14.17.tar.xz
等待解压完毕进入内核目录:
hello@hello-Lenovo:~/work/ubuntu$ cd linux-3.14.17/
然后就可以打补丁了
hello@hello-Lenovo:~/work/ubuntu/linux-3.14.17$ ../xenomai-2.6.4/scripts/prepare-kernel.sh  --arch=amd64 --linux=. --adeos=../xenomai-2.6.4/ksrc/arch/x86/patches/ipipe-core-3.14.17-x86-4.patch
 
接下来配置下。
这里我为了方便,直接把之前的配置拷贝到当前的目录下,这样做是简单,但是可能会出错,不过就算出错也是有些不该配置的地方配置了,此时只要根据提示修改即可,拷贝命令如下:
hello@hello-Lenovo:~/work/ubuntu/linux-3.14.17$ cp /boot/config-$(uname -r)  ./
接下来需要配置一些宣讲
Make menuconfig
 
下面是一些选项:
必选项:
* Real-time sub-system
--> Xenomai (Enable)
--> Nucleus (Enable)
* Power management and ACPI options
--> Run-time PM core functionality (Disable)
--> ACPI (Advanced Configuration and Power Interface) Support
--> Processor (Disable)
--> CPU Frequency scaling
--> CPU Frequency scaling (Disable)
--> CPU idle
--> CPU idle PM support (Disable)
* Pocessor type and features
--> Processor family
--> Core 2/newer Xeon (if \"cat /proc/cpuinfo | grep family\" returns 6, set as Generic otherwise)
可选项 (RECOMMENDED):
* General setup
--> Local version - append to kernel release: -xenomai-2.6.5
--> Timers subsystem
--> High Resolution Timer Support (Verify you have HRT ON)
* Pocessor type and features
--> Processor family
--> SMT (Hyperthreading) scheduler support (Disable)
--> Preemption Model
--> Voluntary Kernel Preemption (Desktop)
* Power management and ACPI options
--> Memory power savings
--> Intel chipset idle memory power saving driver
 
配置完毕之后就可以进行编译了,执行:
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$  make bzImage -j4
编译完成之后就可以进行安装了:
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$  make install
假如需要编译安装模块的话,需要
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$  make modules -j4
装模块
hello@hello-Lenovo:~/work/ubuntu/xenomai-2.6.4$ make modules_install
 
到此为止就安装完成了,其实在make install完毕之后就可以通过执行update-grub还查看启动项了。
比如:
hello@hello-Lenovo:/usr$ sudo update-grub
[sudo] password for hello: 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.19.0-58-generic
Found initrd image: /boot/initrd.img-3.19.0-58-generic
Found linux image: /boot/vmlinuz-3.19.0-25-generic
Found initrd image: /boot/initrd.img-3.19.0-25-generic
Found linux image: /boot/vmlinuz-3.14.17
Found initrd image: /boot/initrd.img-3.14.17
Found linux image: /boot/vmlinuz-3.14.17.old
Found initrd image: /boot/initrd.img-3.14.17
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1
Done
看到上面就出现vmlinuz-3.14.17了,说明已经成功了。
 
接下来hello@hello-Lenovo:/usr$ sudo reboot now
再启动界面上选择ubuntu 高级选项
然后选择对应的版本号就可以了。
接下来进入系统之后进行测试:
hello@hello-Lenovo:/usr$ sudo  xeno latency
== Sampling period: 100 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD|     -2.446|      0.371|      4.774|       0|     0|     -2.446|      4.774
RTD|     -2.144|      0.276|      4.826|       0|     0|     -2.446|      4.826
RTD|     -2.348|      0.344|      4.762|       0|     0|     -2.446|      4.826
RTD|     -2.756|      0.273|      4.682|       0|     0|     -2.756|      4.826
RTD|     -2.376|      0.338|      5.793|       0|     0|     -2.756|      5.793
RTD|     -2.549|      0.296|      4.411|       0|     0|     -2.756|      5.793
RTD|     -2.356|      0.340|      6.218|       0|     0|     -2.756|      6.218
RTD|     -2.248|      0.271|      4.756|       0|     0|     -2.756|      6.218
RTD|     -2.557|      0.341|      4.789|       0|     0|     -2.756|      6.218
RTD|     -2.359|      0.284|      9.107|       0|     0|     -2.756|      9.107
RTD|     -2.603|      0.341|      4.778|       0|     0|     -2.756|      9.107
RTD|     -1.402|      0.268|      4.723|       0|     0|     -2.756|      9.107
RTD|     -2.418|      0.328|      4.774|       0|     0|     -2.756|      9.107
RTD|     -1.074|      0.268|      5.534|       0|     0|     -2.756|      9.107
RTD|     -1.060|      0.337|      5.480|       0|     0|     -2.756|      9.107
RTD|     -1.682|      0.271|      5.514|       0|     0|     -2.756|      9.107
RTD|     -2.531|      0.336|      4.742|       0|     0|     -2.756|      9.107
RTD|     -2.490|      0.263|      4.741|       0|     0|     -2.756|      9.107
RTD|     -2.575|      0.340|      5.598|       0|     0|     -2.756|      9.107
RTD|     -2.319|      0.265|      4.718|       0|     0|     -2.756|      9.107
RTD|     -2.484|      0.335|      4.978|       0|     0|     -2.756|      9.107
RTT|  00:00:22  (periodic user-mode task, 100 us period, priority 99)
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26712.html