嵌入式Linux内核的编译与移植

来源 :光盘技术 | 被引量 : 0次 | 上传用户:winchard
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:嵌入式系统是一个高起点的技术领域,而嵌入式Linux以多方面的优势已成为嵌入式系统领域研究的一个热点.本文首先介绍了嵌入式Linux,然后着重介绍了嵌入式Linux内核的编译过程,并最后描述了嵌入式Linux内核的移植过程。
  关键词:Linux内核;编译;移植
  中图分类号:TP311文献标识码:A
  
  The Compile and Transplantation of Embedded Linux Kernel
  SUN Chang-xia,GUO Yu-feng
  (Information and Management Science College,Henan Agricultural University,Henan Zhengzhou 450002 )
  Key words: :Linux kernel;Compile;Transplantation
  
  当今,嵌入式Linux操作系统在嵌入式领域发展的如火如荼,它不仅继承了Linux源代码开放、内核稳定高效、软件丰富等优势,而且还具备支持广泛的处理器结构和硬件平台、占用空间小、成本低廉、结构紧凑等特点.,因此,其研究价值和市场前景将是不可估量的。
  
  1 嵌入式Linux
  
  目前主流的嵌入式系统有:Windows CE、Vxwork、VRTX、pSOS、Palm OS、Neculeus,但这些操作系统都是商业化产品,不仅其价格昂贵不适合低端嵌入式产品开发,而且其源代码封闭.嵌入式Linux不仅具有开放的源代码,而且所需的存储空间也很小。嵌入式Linux由一个内核及一些根据需要进行定制的系统模块组成,其内核很小,一般只有几百KB左右.Linux内核是Linux最底层、最核心的部分,Linux操作系统就是在Linux内核上发展壮大起来的,而内核的移植则是任何嵌入式Linux开发中最关键部分。
  
  2 交叉开发环境的建立
  
  嵌入式系统中的应用程序都是通过交叉编译得到的,所谓的交叉编译就是指利用运行在宿主机上的编译器编译某个源程序生成在能在目标平台运行的目标代码.本文所使用的交叉环境基本信息如下:宿主机为X86主机,系统为Redhat9.0,内核版本2.4.18;目标机为S3C2410。首先以root用户登陆,安装交叉编译器cross_2.95.3.tar.bz2,然后增加编译器路径:
  #export PATH=$PATH:/usr/local/arm/2.95.3/bin,其中:/usr/local/arm/为交叉编译器的安装目录。
  
  3 内核编译
  
  建立交叉开发环境之后,就可以编译嵌入式Linux的内核了。通常编译嵌入式Linux内核都是通过不同的make命令来实现的,它的执行配置文件就是通常所说的Makefile,而不同的Makefile又通过互相的依赖关系构成一个统一的整体去完成建立依存关系、建立内核等功能。
  3.1配置选项
  一般内核编译配置选项有三种选择:将该功能编译进内核、不将该功能编译进内核、将该功能编译成可以在需要时动态插入到内核中的模块。每种编译模式都有各自的优缺点,如果把与核心其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块, 在使用的时候可以动态加载,这样有利于减小内核的长度, 减小内核消耗的内存, 但缺点是必须要通过手动调用这些模块;如果将其编译到内核,则会方便、快捷,但是缺点是使内核变得越来越庞大,消耗更多的系统资源。因此建议将经常使用的功能直接编译到内核中,比如网卡、光驱等。
  3.2内核的配置
  内核的配置过程其实就是内核裁剪的过程,嵌入式Linux内核要针对具体的嵌入式设备平台软硬件需要, 裁减掉一些不必要的功能后, 这样可以更好的节省系统资源, 提高系统运行效率。
  在内核配置之前为目标机选择处理器架构的选项,因此,必须在根目录makefile中修改ARCH的值:ARCH :=arm;
  接下来就可以进行内核配置了,Linux 内核裁减的配置菜单命令有好几个配置方法,这几个方法实现的功能类似,只是与用户的交互界面不同。
  1)make config: 基于文本的最为传统的配置界面,进入命令行,可以一行一行的配置,烦琐,不推荐使用;
  2)make menuconfig: 基于文本菜单的配置界面,是字符终端下常用的方式;
  3)make xconfig: 基于图形窗口模式的配置界面, Xwindow下推荐使用。
  4)make oldconfig:自动读入“config”配置文件,并且只要求用户设定前次没有设定过的选项。
  在这4种方法中,make menuconfig使用最为广泛,这里本文也选择使用make menuconfig的配置方法.选择相应的配置时,有三种选择,它们分别代表的含义如下:
  “Y”-将该功能编译进内核
  “N”-不将该功能编译进内核
  “M”-将该功能编译成可以在需要时动态插入到内核中的模块。
  进行配置时,大部分选项可以使用默认值,只有小部分需要根据用户不同的需要选择。例如,目标机如果配有网卡、PCMCIA卡等,需要在网络配置中选择相应卡的类型。在完成配置之后,就可以保存退出。
  3.3内核编译的过程
  在完成内核的裁减之后, 内核的编译就是一个非常简单的过程.执行:
  (1)#make clean
  这条命令是在正式编译你的内核之前先把环境给清理干净, 保证没有不正确的依赖文件存在。
  (2)#make dep
  由于内核源码树中的大多数文件都与一些头文件有依赖关系,因此要将内核源码树中每个子目录产生的“.depend”文件建立起依赖关系。
  (3)#make zImage
  建立压缩的linux内核映像。
  编译完毕,在arch/arm/boot目录下将会生成ARM Linux 内核映像文件zImage,这就是将要移植到目标机的内核映像文件。
  如果将来还要对内核重新进行编译,则需执行命令“make distclean”,去除依赖关系并清除以前编译产生的文件,然后重复上述步骤即可。
  
  4 内核的移植
  
  内核移植的方法有很多,常见的方式有网络下载(如FTP、TFTP等方式)、串口下载、USB下载等.本文采用FTP方式移植Linux内核映像文件到目标机NAND FLASH中。
  首先安装FLASHFXP软件,并通过交叉网线将宿主机和目标机连接起来,同时为了保证正常移植,需要对宿主机网络进行设置,将其IP地址修改为192.168.15.20,掩码地址为255.255.255.0.启动ZLG/BOOT,进入下载模式,使用默认IP 192.168.15.115进行ftp下载.运行FTP软件,输入IP地址192.168.15.115,设置端口号为21,点击“连接”后就会开始ftp连接,连接成功后Linux内核映像文件就会被移植到目标机的NAND FLASH中。至此嵌入式Linux的编译和移植工作全部完成。
  
  5 结束语
  
  整个Linux内核由很多模块组成,每个模块可以独立编译,然后用连接程序将其连接在一起成为一个单独的目标程序。这种结构的最大特点是内部结构简单,子系统间易于访问,因此内核的工作效率较高.Linux是基于过程的结构,因此其助于不同的人参与不同过程的开发,.Linux 内核又是开放式的结构,它允许任何人对其进行修正、改进和完善.我们相信随着更多的Linux爱好者的加入,Linux一定会越来越完美。
  
  参考文献:
  [1]陈莉君.Linux 内核的分析及应用[J].西安邮电学院学报, 2001(3): 1-6.
  [2]邹球.基于ARM2410嵌入式Linux内核的编译与移植[J].计算机工程应用技术, 1009-3044(2008)15-21157- 3.
  [3]孙琼.嵌入式Linux应用程序开发详解[M].人民邮电出版社,2006(7).
  [4]许信顺,贾智平.嵌入式Linux 应用编程[M.机械工业出版社,2007(1).
  [5]毕伟宏.Linux 内核与内核编译,福建电脑[J].2007(2),16-18.
其他文献
摘 要 国债回购具有类似于国债风险低、收益稳定、流动性高的特点,由于我国国债以及证券市场发展的不完善,在国债现券和回购之间长期存在着大约2%~3%的利差。利用国债现券与国债回购之间的利差进行无风险套利,既规避了金融风险,又充分利用了资金的使用价值,其收益远高于同期银行存款利率。在目前理财手段并不丰富的背景下,非常值得向投资者推荐。  关键词 国债 回购 无风险 理财 利差 套利证券交易所    一
期刊
在21世纪,以人为本是教育与教育管理的宗旨。这是因为人是教育和教育管理的根本出发点,教育与教育管理的根本目的就是促进人的发展。教育与教育管理是以人为对象的活动,其实施者也是人,以人为中心应是教育与教育管理的题中之义。  翻开人类教育史,我们可以发现一部教育“非人”的历史。在崇尚武力的时代,教育被当作培养战争机器的工具;在神学占统治地位的时代,教育是神学之附庸,是培养上帝奴仆的手段;在国家的需要压倒
期刊
2005年11月18日对于广州市番禺区市桥富都小学来说,是一个永远的痛。当天中午上学时,一名三年级男生在校园里不幸丧生于女教师的车轮之下。这起重大安全事故的发生,犹如一场突如其来的暴风雪,使该校社会形象在一片狂啸舆论中轰然坍塌。家长对学校的信任度瞬间达到冰点,以致2006年春季开学时有的家长连转学手续也不办就把孩子转走,一些骨干教师也以各种借口离开。  就是在这样的背景下,我被调任该校校长。彼时我
期刊
思维导图是表达发散性思维的有效图形工具,它运用图文并茂的技巧,把各级主题的关系用互相隶属于相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接,充分运用左右脑的机能,利用记忆、阅读、思维的规律,协助人们在科学与艺术、逻辑与想像之间平和发展,开发人脑的无限潜能。它不但可以协助我们记忆,还能增进我们的创造力。  随着学生对思维导图的认识和掌握,思维导图可以应用在语文单元整体学习之中,帮助学生提
期刊
摘 要:在php+mysql的站点开发时,经常出现程序员编写代码的时候,没有对用户输入数据合法性进行判断,使站点存在安全隐患,本文从php+mysql注入的原理入手,对于使用php+mysql数据库的站点,在sql注入常用的方法和解决办法方面进行了研究。  关键词:Php mySql注入漏洞;分析  中图分类号:TP309.5文献标识码:A    On Analysis and Preventio
期刊
摘 要:数据交换平台是供应链系统的重要组成部分。基于XML技术的数据交换平台采用了四层结构。在平台的实现中通过三个关键技术来保证在供应链范围内异构信息交换和共享的顺利与安全。数据交换平台为企业间进一步开展更广泛的业务奠定了基础。  关键词:XML;数据交换;安全  中图分类号:TP315 文献标识码:A    Application of XML in Supply Chain  WANG Rui
期刊
摘 要:本文展示了Http协议的强大能力,如何定义什么是Restful Web Service架构以及以当今RPC式Web服务的对比,并解析了Restful Web Service架构的四个特征:可寻址性、无状态性、连通性和统一接口。  关键词:HTTP;URL;REST;Web服务  中图分类号:TP393.04文献标识码:A    Analysis of Restful Web Service
期刊
摘 要:安全性和主机移动是Internet研究的热题。HIP是一个能够用简单方式解决主机动、多宿主和安全的新协议,本文详细介绍了HIP协议相关概念及其体系结构、实体与相应标识符的绑定、协议数据包结构和HIP基本交换过程,阐述了HIP对主机移动和多宿主的解决方法、安全性问题等问题。  关键词:主机标识符;体系结构;基本技术   中图分类号:TP393.04文献标识码:A    Technology
期刊
摘 要:WEB数据挖掘技术是一种新兴的信息处理技术,在信息的利用和提取中发挥着非常重要的作用。本文在论述WEB数据挖掘技术的基础上,探讨了数据挖掘在高校图书馆工作中的应用。  关键词:WEB数据挖掘;图书馆;信息处理;个性化服务  中图分类号:TP274文献标识码:A    Application of WEB Data Mining to Academic Library Works  ZHEN
期刊
摘 要:ARP协议存在着很多缺陷,攻击者正是利用这些漏洞实施ARP地址欺骗,对局域网的通信造成威胁。可通过Sniffer嗅探法、命令提示符法、或借助相关软件工具查找定位ARP地址欺骗攻击者。而对于如何防御的问题,则可采用对计算机系统安全加固,利用ARP杀毒软件、ARP攻击探测器等方法解决之。  关键词:ARP地址欺骗;ARP协议;地址解析;ARP攻击与防御  中图分类号:TP393.08文献标识码
期刊