ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:2.45MB ,
资源ID:9783950      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9783950.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于26内核的RTAI实时操作系统的构建.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于26内核的RTAI实时操作系统的构建.docx

1、基于26内核的RTAI实时操作系统的构建基于2.6内核的RTAI实时操作系统的构建摘要 11 安装Linux操作系统 21.1 文件下载安装 21.2配置网络参数 22编译准备 32.1 rtai压缩包下载并解压 32.2 linux内核压缩包下载并解压 42.3 给内核打补丁 52.4 配置内核 53安装内核 73.1清除垃圾并执行编译 73.2 配置并安装模块 73.3安装内核并备份 84安装Rtai 104.1下载安装MESA库文件 104.2 下载安装EFLTK包 104.3 配置rtai 124.4 编译并安装rtai 124.5 rtai实时性测试 135总结 156参考文献 15

2、摘要本文详细介绍了Linux内核编译前的准备工作、内核编译的具体步骤,使用电脑安装双系统的方式 ,在Window系统安装好的条件下完成的安装Ubuntu10.10,安装过程是通过它内置的wubi程序进行的系统配置,重启系统使Ubuntu安装完成后,在安装的系统中执行相关的操作。关键字:Ubuntu10.10,Linux内核,Rtai1 安装Linux操作系统1.1 文件下载安装通过ubuntu官网(在安装向导界面选择磁盘参数,然后点击安装,开始执行解压到选定的目录,直到文件执行完成,重启计算机。进入系统前会看到在原来的仅有window系统的基础上,现在又多了Ubuntu,选择进入,如果是第一次

3、则会执行安装程序,其中会涉及到磁盘分区以及软件设置等相关操作,但都已经自动完成,直到最后安装完成,重新启动以进入Linux系统,选中 Ubuntu后进入了一个可选项显示Linux系统的版本,选择并直接进入。1.2配置网络参数通过系统-首选项-网络连接-有线-添加:则弹出一个可以设置网络链接到窗口,可以自己定义一个网络连接名称(默认Auto eth0),选中自动连接复选框,选择IPv4设置 tab项,连接方法选择手动,并输入原来在Window环境下可以上网的IP配置信息,点击应用并退出则可以上网。其中截图快捷方式是通过系统-首选项-键盘快捷方式,从弹出的窗口中对窗口截图操作添加快捷方式。配置好连

4、接之后可以看到连接已经建立的弹出窗口提示:2编译准备2.1 rtai压缩包下载并解压解压到urs/src目录下,输入命令:cd /usr/srcsudo tar bzip2 xvf rtai-3.8.tar.bz2解压结果为在usr/src目录下创建了一个以rtai-3.8命名的文件夹,rtai文件被解压在里面了,为了以后命令输入方便,为新建的文件夹rtai-3.8创建一个名称为rtai的快截方式,输入命令:rm f rtaisudo ln fs rtai-3.8 rtai命令行窗口的解压结果如下图所示:2.2 linux内核压缩包下载并解压支持rtai最新的内核版本为2.6.32.2的,从w

5、ww.kernel.org网站上下载未被修改过的源代码压缩包(linux-2.6.32.2.tar.bz2)来构建自订制系统。同样要解压到urs/src目录下,因为现在本身就在这个目录下,就不用转目录了,输入命令:sudo cp suoxd/linux-2.6.37.1.tar.bz2 /usr/srcsudo tar bzip2 xvf linux-2.6.32.2.tar.bz2解压结果为在usr/src目录下创建了一个以linux-2.6.32.2命名的文件夹,linux内核的原文件被解压在里面了,为了以后命令输入方便,为新建的文件夹linux-2.6.32.2创建一个名称为linux的

6、快截方式,并进入该文件夹,以后的操作就是在这个文件夹下了,输入命令:rm f linuxsudo ln fs linux-2.6.32.2 linuxcd linux命令行窗口的解压结果如下图所示:2.3 给内核打补丁进入rtai.3.8文件夹下,运行对应于当前要安装内核的补丁,因为当前在/usr/src/linux目录下,所以使用全路径来访问补丁文件,并返回linux目录,输入命令:sudo patch p1 /usr/src/rtai/base/arch/x86/patches/hal-linux-2.6.32.2-x86-2.5-00.patchcd /usr/src/linux执行解压

7、时出现错误,没装patch命令,则安装patch后,重新输入命令,安装补丁命令:sudo apt-get install patch命令行窗口的patch安装和打补丁结果如下图所示:2.4 配置内核经学习发现这个需要的东西有点多,配置需要涉及到中央处理器(CPU)类型及特性、块设备层、电源管理选项、总线选项、网络等硬件选项,以及设备驱动程序、文件系统、分析支持、内核hack选项、安全选项、加密选项、库子程序等系统的软件选项,其中包括多个配置工具,如:Make config的配置命令解释器:对配置脚本中使用的配置命令进行解释;make xconfig 命令的基于 Xwindows 图形界面的用户

8、配置界面;Make menuconfig 的配置用户界面:提供基于字符界面、基于 Ncurses 图形界面;事实上,由于Linux 2.6.32 开始引入了一个 make localmodconfig 用于简化 kernel 的配置,我没有过于繁重地选择内核的各个模块,怕选不好会影响到以后到编译及其它执行,使用命令拷贝当前系统配置。执行命令: sudo make O=/home/build/kernel localmodconfig,结果会不断要求确认设置不同的环境变量,还可以使用已经发布的配置文件,只是把系统的配置文件复制过来就可以了,输入命令:sudo cp f /boot/config-

9、2.6.35.22-generic .config 此处选择menuconfig进行学习使用,输入命令:sudo make menuconfig,出现错误提示,经过查找资料需要安装libncourses库,则执行命令:sudo apt-get install libncurses5sudo apt-get install libncurses5-dev 则自动下载并安装更新成功了相关的库文件,重新执行命令:sudo make menuconfig结果显示:Your display is too small to run Menuconfig!It must be at least 19 lin

10、es by 80 columns.make1: * menuconfig 错误 1提示信息为窗口太小,调整窗口大小后,重新输入命令执行:sudo make menuconfig由于使用电脑为单核处理器,同时内存空间也相对较小,所以做些简单的修改:截图结果如下:3安装内核3.1清除垃圾并执行编译清除一些不必要的文件,这些文件可能会导致某些编译错误,但一般不执行也不会有什么问题,因为经过很多次重装并没有看到那里有文件,清除文件命令:sudo make clean执行编译,输入命令:sudo make命令行窗口的编译结果如下图所示:3.2 配置并安装模块配置模块输入命令:sudo make modu

11、les命令行窗口的模块配置结果如下图所示:有图可见有些问题,说有些不匹配,先不管,执行安装所有编译并配置好的模块,输入命令:sudo make modules_install命令行窗口的模块安装结果如下图所示:3.3安装内核并备份输入命令:sudo make install命令行窗口的内核安装结果如下图所示:备份配置文件以备将来使用,输入命令: sudo cp -f .config config-my-rel2.6.32.2.txt为了在下次编译新内核时不被覆盖掉,进入boot目录下备份内核镜象,虚拟磁盘镜象以及系统镜象文件,输入命令:cd /bootsudo cp -f vmlinuz-2.

12、6.32.2 my-rel-2.6.32.2sudo cp -f initrd-2.6.32.2.img my-inrd-2.6.32.2.imgsudo cp -f System.map-2.6.32.2 System.map-my-rel2.6.32.2备份后boot文件夹窗口截图:4安装Rtai4.1下载安装MESA库文件官方文档说可以登录www.mesa3d.org网站下载mesalib库文件,这是一个通过OpenGL实现了的3D图像库,不过不知道为什么这里没找到下载连接,没有找到tar.gz扩展名到文件,下载到文件为tar.bz2的扩展名我是从csdn上(sudo cp /home/

13、suoxd/MesaLib-7.3.tar.bz2 /tmpcd /tmpsudo tar -xjf MesaLib-7.3.tar.bz2cd Mesa-7.3sudo make linux-x86-staticsudo make install命令行窗口的MESA库安装结果如下图所示:4.2 下载安装EFLTK包官方网站上讲可以通过执行代码:cvs -d:pserver:anonymous:/cvsroot/ede login (press ENTER when CVS asks for password)cvs -z3 -d:pserver:anonymous:/cvsroot/ede

14、co efltk则实现自动连接下载,但我没有能连上CVS源代码库服务器,所以执行很多次一直没能连接成功,结果都是连接超时,如图所示:于是我自己下了个,下载地址是http:/equinox-project.org/wiki/Download,不过一个官网(http:/pkgs.org/package/efltk)也有多个版本下,经查资料它是由Mikko Lahteenmaki开始的,在未正式发布FLTK2.0基础上开发的一个扩展分支,FLTK是一个轻量级的GUI开发库。但这轻量级并不代表功能弱, FLTK在具有基本的GUI功能之外,还拥有一些特殊的功能,比如跨平台、内置 OpenGL功能、速度更

15、快、尺寸更小、协议宽松等。EFLTK在它的基础上添加了对XML、Network和databased等功能的支持,在http:/equinox-project.org/api/efltk有关于EFLTK的Modules、Class Hierarchy等详细文档说明。但我在配置的时候一直没法成功,一直提示权限不够,但进入root权限还是不行,加sudo后的结果为没有configh.in的命令,所以这一步没能成功,以下为操作过程截图:sudo cp /home/suoxd/ede-1.2.tar.gzsudo cp /home/suoxd/efltk-2.0.8.tar.gzcd /tmpsudo

16、tar xzf ede-1.2.tar.gzsudo tar xzf efltk-2.0.8.tar.gzcd efltk./efltk-config.in -prefix=/usr/local -multithread ./emake./sudo emake install 命令行窗口的配置结果如下图所示:命令行窗口的emake结果如下图所示:命令行窗口的emake install结果如下图所示:4.3 配置rtai进入rtai安装的文件夹,并执行配置,输入命令:cd /usr/src/rtaisudo make config命令行窗口的rtai配置结果如下图所示:4.4 编译并安装rtai

17、输入命令:sudo makesudo make install命令行窗口的rtai编译结果如下图所示:命令行窗口的rtai安装结果如下图所示:4.5 rtai实时性测试输入命令行:cd /usr/realtime/testsuite/user/latencysudo ./run输入命令行:cd /usr/realtime/testsuite/user/ preemptsudo ./run还有一些其它的测试命令,如下:cd /usr/realtime/testsuite/user/switches./runcd /usr/realtime/testsuite/kern/latency./runc

18、d /usr/realtime/testsuite/kern/preempt ./runcd /usr/realtime/testsuite/kern/switches./run以上这些命令有些因为库文件不存在没法成功执行,而且执行过程也非常慢,每次执行后会使电脑慢很多,所以这次又没成功,后来又试了几次都没能使rtaid在自己构建的系统上完整运行。5总结虽然经过多次尝试还是没能成功安装并实现Linux的实时性功能,但通过整个安装过程也对系统的基本结构有了初步的了解,也学到了不少东西,系统的编译和安装以及软件的安装和运行过程并不是同时完成的。从内核源程序压缩文件的解压、编译才能安装,然后修改启动

19、项后则可以通过重新启动系统进入自己构建的操作系统,整个Linux内核由很多模块组成,每个模块可以独立编译,然后用连接程序将它们连接在一起成为一个单独的目标程序。这种结构的最大特点是内部结构简单,子系统易于访问,因此内核的工作效率较高。虽然是第一次接触linux,但还是有些心得,下面是自己实验过程的部分心得:1、编译之前需要先确认一些系统工具以及相关配置是否能够满足2.6内核的需要,然后根据需要进行配置;2、编译时要可以联网,因为有好多程序是需要自动下载安装的;3、对于要安装的软件,需要匹配相应的系统;4、配置过程可以删除很多没必要的东西,使内核很小,则提高了安全性和效率,但如果误删了,就会编译

20、失败,编译内核要正确进行,不然有些硬件就用不了,或进不了系统;5、Linux的文件系统是区分大小写的,不像Windows的文件系统不区分大小写;6、要尽可能使用系统官方文档,比如根目录下的READERME文件及官网说明。当然作为初学者遇到的问题不止这些,但基本出错的地方也基本可以确定,所以大部分都可以通过google找到答案,虽然这次没能按要求完成作业,但这次经历让我有了很多学习,还是会自己去学习这门课程。Linux是基于过程的结构,因此有助于不同的人参与不同过程的开发,同时Linux内核又是开放式的结构,它允许任何人对其进行修正、改进和完善,我相信随着更多的爱好者加入,Linux一定会越来越完美。6参考文献1 毕伟宏,Linux内核与内核编译J.福建电脑,2007,2:4,162 孙昌霞,郭玉峰,嵌入式Linux内核的编译与移植J.计算机技术与自动化,2008,10:30-313 冉朝霞,利用实时应用程序接口RTAI增强Linux内核实时性J.网络安全,2009,4:22-24

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2