欢迎来到天天文库
浏览记录
ID:51507573
大小:326.22 KB
页数:4页
时间:2020-03-26
《一种嵌入式Linux操作系统的构建方法.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据{-r业控制计算机}2011年第24卷第1期69一种嵌入式Linux操作系统的构建方法AMethodofConstructingEmbeddedLinuxOperatingSystem刊、新贺王晓辉于月森(中国矿业大学信息与电气工程学院,江苏徐州221116)摘要提出了一种构建嵌入式Linux操作系统的方法:通过内核定制,文件系统裁减和启动脚本配置来构建嵌入式Linux操作系统。详细说明了具体实现步骤,同时讨论了各种构建方式的利弊。实验证明,通过该方式构建的嵌入式Linux操作系统运行稳定可靠,性能优异,功
2、能可灵活配置,适用范围非常广。关键词:嵌入式Linux.busybox.内核定制AbstractThispaperpresentsamethodofconstructingembeddedLinuxoperatingsystem:throughthekernelcustomization.filesystemreducingandstartupscriptconfigurationtoconstructembeddedLinuxoperatingsystem.Detailsofitsimplementa—tions
3、tepsisexplained.Theadvantagesanddisadvantagesofsomeconstructionmethodsarediscussed.OfthisembeddedLinuxoperalingsystem,theactualtestresultsshowitsreliablestability.excellentpropertiesandhighflexibility.Keywords:EmbeddedLinux,busybox,kernelcustomization使用嵌入式Linu
4、x操作系统具有极强的可定制性、完全免费的成本、稳定的运行和广泛的硬件支持,是可行并且具有相当优势的。嵌入式Linux操作系统的构建要经过内核定制和重新编译,文件系统裁剪和系统的启动配置三个步骤。1内核裁剪与编译进行内核裁剪的主要目的是从需求出发,使系统最大程度地满足应用的需要、最大程度地适应系统硬件平台、最优化地支持系统外围设备和应用程序,并且尽量减少对系统资源的占用、减少系统功耗,增强系统的安全性、稳定性、可靠性,另外还可以使系统真JE地实现产权自主化。1.1内核裁剪Linux采用单内核体系结构,内核的所有部分都
5、集中在一起,这样能使系统的各部分直接沟通,有效地缩短任务之间的切换时间,提高_r系统的响应速度,实时性好并提高了CPU的利用率,但在系统比较大的时候,体积也比较大,与嵌入式系统容量小、资源有限的特点不符合,因此需要进行非常精细的定制以适应嵌入式系统的需要。本项目采用的内核版本是2.4.20。内核设置工作可以通过直接修改内核源代码中的Makefile文件、Config.in文件和内核源代码根目录下的.config文件来完成。内核源代码中的每个目录都有各自的用途,每个子目录下也都有相应的Makefile文件。采用修改配
6、置文件的方式设置内核比较复杂,而且容易出现错误,但是对深入剖析和理解内核帮助很大。比较有效的方式还是直接利用Linux内核提供的工具进行内核设置。在Linux源代码目录(/usr/src/linux一2.4.20)下,Linux内核设置命令是:#makemenuconfig命令执行后会显示一个字符型菜单配置环境,在该环境中有各种选项,通过这些选项设置可以定制Linux内核的各项功能,并对内核实现裁减。这砦选项中,按照要求选择需要的部件,保存退出,就完成了内核的裁剪配置。1.2内核编译内核配置结束后就可以编译内核了,
7、内核编译只有几个指$国家863计划(重点)项目(2008AA062200)令,但内核编译时间可能很长。在执行内核配置之前要先执行:#makemrproper该命令用于检查内核源程序,以发现内核文件是否完备。接下来执行:#makemenuconfig该命令即内核配置命令,按要求选择。选择完成后,继续执行:#makedep该命令使内核正确设置所有模块的依赖关系。如果该部分出现错误。说明内核配置的选项依赖关系不满足,需要重新执行内核配置命令来重新配置内核;如果没有出错,则说明依赖关系满足,执行:#makeclean该命令
8、的作用是清除所有已存在的目标文件,已存在的目标文件主要由上次内核编译形成。现在可以执行:#makebzlmage该命令用于生成超过1M文件大小的内核,内核文件是经过压缩处理的。如果内核中使用了可装卸的模块,则需要依次运行以下指令:#makemodules该命令用于编译内核模块。模块编译完成后执行:#makemodules—install该命令用于安装内核模块
此文档下载收益归作者所有