安装xenomai的记实
2013-01-29 00:00
381 查看
我写这篇日志的目的是记录我在CentOS上安装xenomai的过程。
而我本地CentOS内核版本是通过执行uname -a查看的:
配置内核还需要执行make menuconfig命令,而当前系统没有安装ncurses或没有库。执行命令时出错,要求安装一个ncurses-devel.686,于是安装:
安装完之后,再执行 make menuconfig 就正常了。
大致的意思是说,要将xenomai集成到Linux内核中去,就必须运行上述指令:scripts/prepare-kernel.sh ...
--linux=<linux-srctree> 参数是用于指定咱们内核源代码的路径。
--adeos=<adeos-patch>是用来指定与内核源码对应的adeos补丁文件路径,如果补丁已经被安装,则不再需要指定。
--arch=<target-arch>是用于指定是哪个平台的参数,这里我们指定为x86。
OK, let me have a try. 我kernel源码安装在目录 /usr/src/kernels/2.6.32-279.19.1.el6.i686 下,所以我执行的命是:
说什么,不能从/dev/null读取I-pipe patch?什么情况?怎么解决?
我在网上看到有人问同样的问题,但最终问题是解决了:
它指定了--adeos与--arch参数,我也来试一下。我查到 ./ksrc/arch/x86/patches/ 目录下也有两个.patch文件:
ipipe-core-3.2.21-x86-2.patch
ipipe-core-3.5.3-x86-2.patch
ipipe-core-3.4.6-x86-2.patch
我随意选了一个,命令如下:
这是成功了还是失败了?好像是失败了。
我用vim打开了其中的一个.patch文件,查看文件里面的内容:
这好像是以文本的形式描述文件的变更。比如:"-"开头的表示删除这行代码,"+"开头的表示新增这行代码。这么说来,.patch 文件是用于告诉程序我们该如何对kernel源码进行修改。如此说来,不同版本的内核代码必须使用对应版本的.patch文件才正确。
我们内核的版本是 2.6.32-279.19.1.el6.i686,上面查了的。而我现在随便找的一个 ipipe-core-3.2.21-x86-2.patch 文件,完全牛头不对马嘴!So, 我们必须找到2.6.32对应的.patch文件。
看来是我下载的xenomai源码的版本与我系统内核的版本不一致引起的。
由于我下载的xenomai源码路径 xenomai-2.6.2/ksrc/arch/x86/patches 上有3个补丁文件:
* ipipe-core-3.2.21-x86-2.patch
* ipipe-core-3.5.3-x86-2.patch
* ipipe-core-3.4.6-x86-2.patch
所以,我猜想这个版本的xenomai应该对3.4.6的kernel支持。所以,我在www.kernel.org中下载了 linux-3.4.6.tar.bz2 。
解压到相前目录下: tar xvf linux-3.4.6.tar.bz2
然后再次执行:
1. 环境准备
我从www.xenomai.org网站上下载了源码包 xenomai-2.6.2.tar.bz2。下载到本地,然后解压:tar jvxf xenomai-2.6.2.tar.bz2
而我本地CentOS内核版本是通过执行uname -a查看的:
$ uname -a Linux hevakelcj-notebook 2.6.32-279.19.1.el6.i686 #1 SMP Wed Dec 19 04:30:58 UTC 2012 i686 i686 i386 GNU/Linux在本地的 /usr/src/kernel 下没有内核的源码,看xenomai安装说明上说的要重新编译内核。所以必须要安装内核源码包:
sudo yum install kernel-devel.686安装完后,在 /usr/src/kernel 目录下就多了一个内核路径:2.6.32-279.19.1.el6.i686,这就是内核源码。
配置内核还需要执行make menuconfig命令,而当前系统没有安装ncurses或没有库。执行命令时出错,要求安装一个ncurses-devel.686,于是安装:
sudo yum install ncurses-devel.i686
安装完之后,再执行 make menuconfig 就正常了。
2. 开始安装
在上一节,安装了kernel内核包、ncurses。现在,我们进行解压后了xenomail目录,打开工程下的README.INSTALL文件,我只看如何安装:大致的意思是说,要将xenomai集成到Linux内核中去,就必须运行上述指令:scripts/prepare-kernel.sh ...
--linux=<linux-srctree> 参数是用于指定咱们内核源代码的路径。
--adeos=<adeos-patch>是用来指定与内核源码对应的adeos补丁文件路径,如果补丁已经被安装,则不再需要指定。
--arch=<target-arch>是用于指定是哪个平台的参数,这里我们指定为x86。
OK, let me have a try. 我kernel源码安装在目录 /usr/src/kernels/2.6.32-279.19.1.el6.i686 下,所以我执行的命是:
$ scripts/prepare-kernel.sh --linux=/usr/src/kernels/2.6.32-279.19.1.el6.i686结果,在这里卡住了:
说什么,不能从/dev/null读取I-pipe patch?什么情况?怎么解决?
我在网上看到有人问同样的问题,但最终问题是解决了:
它指定了--adeos与--arch参数,我也来试一下。我查到 ./ksrc/arch/x86/patches/ 目录下也有两个.patch文件:
ipipe-core-3.2.21-x86-2.patch
ipipe-core-3.5.3-x86-2.patch
ipipe-core-3.4.6-x86-2.patch
我随意选了一个,命令如下:
sudo scripts/prepare-kernel.sh --linux=/usr/src/kernels/2.6.32-279.19.1.el6.i686 --adeos=./ksrc/arch/x86/patches/ipipe-core-3.2.21-x86-2.patch --arch=x86没有再报上次那个错误了,执行结果如下:
这是成功了还是失败了?好像是失败了。
我用vim打开了其中的一个.patch文件,查看文件里面的内容:
这好像是以文本的形式描述文件的变更。比如:"-"开头的表示删除这行代码,"+"开头的表示新增这行代码。这么说来,.patch 文件是用于告诉程序我们该如何对kernel源码进行修改。如此说来,不同版本的内核代码必须使用对应版本的.patch文件才正确。
我们内核的版本是 2.6.32-279.19.1.el6.i686,上面查了的。而我现在随便找的一个 ipipe-core-3.2.21-x86-2.patch 文件,完全牛头不对马嘴!So, 我们必须找到2.6.32对应的.patch文件。
看来是我下载的xenomai源码的版本与我系统内核的版本不一致引起的。
由于我下载的xenomai源码路径 xenomai-2.6.2/ksrc/arch/x86/patches 上有3个补丁文件:
* ipipe-core-3.2.21-x86-2.patch
* ipipe-core-3.5.3-x86-2.patch
* ipipe-core-3.4.6-x86-2.patch
所以,我猜想这个版本的xenomai应该对3.4.6的kernel支持。所以,我在www.kernel.org中下载了 linux-3.4.6.tar.bz2 。
解压到相前目录下: tar xvf linux-3.4.6.tar.bz2
然后再次执行:
scripts/prepare-kernel.sh --linux=../kernel/linux-3.4.6 --adeos=./ksrc/arch/x86/patches/ipipe-core-3.6.4-x86-2.patch --arch=x86这次,很顺利!
相关文章推荐
- Xenomai安装教程
- Xenomai 安装准备工作
- Xenomai补丁的安装
- Xenomai在Ubuntu中的安装-实时内核更换
- 安装网卡设备记实- 我的网卡终于正常了
- Ubuntu 14.04.05上安装xenomai 2.6.4实时核
- Xenomai安装方法
- Xenomai安装
- win7x64位安装pads遭遇记实
- xenomai安装
- Xenomai3.0.5+Linux4.9.24安装及配置
- sql server 2008R2安装记实
- xenomai 在ubuntu上的安装测试
- Xenomai安装
- 如何编译和安装Xenomai-forge到Linux系统(Fedora 14)
- FreeBSD服务器的安装与优化(1)
- 2000远程桌面连接安装
- Nutch0.8.1安装手册(for Windows)
- 在RH9.0+vmware 5.xx上从开始到最后实现spca5xx驱动的安装 以及 嵌入式板上的驱动移植
- 安装C++ GUI Qt 3 运行程序无法找到qt-mtnc321.dll