linux系统内核移植.docx
- 文档编号:11529287
- 上传时间:2023-03-18
- 格式:DOCX
- 页数:43
- 大小:1.22MB
linux系统内核移植.docx
《linux系统内核移植.docx》由会员分享,可在线阅读,更多相关《linux系统内核移植.docx(43页珍藏版)》请在冰豆网上搜索。
linux系统内核移植
2016--2017学年第2学期物电学院电子课程设计方案
《嵌入式操作系统》
学号:
201472020218
姓名:
李鑫年
班级:
14级电子
(2)班
评语:
(题目及要求)
Linux系统移植
装
订
线
目录
摘要..3
Abstract……..4
第一章绪论...............................................................................................................5
1.1课题研究的背景、目的和意义.....................................................................................5
1.1.1嵌入式系统的概述.................................................................................................6
1.1.2嵌入式系统的特点及发展趋势...............................................................................6
1.1.3嵌入式软件的未来发展及应用.............................................................................7
1.2本课题研究的意义....................................................................................................7
1.2.1嵌入式Linux对日常生活的影响...........................................................................7
1.3论文的主要工作…………………..……………………..……………….……….…8
第二章嵌入式Linux系统构成和软件开发环境........................................................8
2.1嵌入式Linux系统的体系结构................................................................................9
2.2嵌入式Linux系统硬件平台....................................................................................9
2.2.1友善tiny210的原理.............................................................................................10
2.2.2软硬件系统整体结构............................................................................................11
2.3嵌入式Linux开发软件平台建立..............................................................................11
2.3.1软件开发平台的二种平台的介绍.........................................................................12
2.3.2准备交叉编译工具……………….........................................................................10
2.3.3编译源码................................................................................................................12
2.3.4编译U-BOOT.........................................................................................................12
第三章嵌入式Linux的引导BootLoader程...............................................................13
3.1BootLoader概述..............................................................................................……13
3.2NANDFlash和NORFlash的区别........................................................................14
3.3BootLoader移植.....................................................................................................14
第四章编译和配置内核..............................................................................................15
4.1解压内核包................................................................................................................15
4.2编辑Makefile文件.....................................................................................................15
4.3配置并编译Kernel…………………..…………………………………...………….16
4.4建立tftp服务器…………………………………………..…………………………20
4.5nfs服务器的搭建…………………………………………………………………...20
4.5.1通过rpm-qa|grepnfs来查看是否安装了服务器……………………………...20
4.5.2.启动nfs服务器…………………………………………………………………...21
4.5.3.设置共享目录……………………………………………………………………..21
4.5.4.设置生效…………………………………………………………………………..22
4.5.5.在主机上测试nfs服务器是否可以正常挂载文件或文件夹……………………23
4.5.6.linux主机和开发板之间测试nfs服务器是否能工作正常……………………...23
4.6启动编译好的内核………………………………………………….…………….24
第五章制作根文件系统……………………………………………………………….27
5.1BusyBox文件系统简介…………………………………………………………….27
5.2.创建nfsroot的文件夹…………………………………………………...……….27
5.2.1创建rootfs………………………………………………...………………………27
5.2.2.编译Busybox…………………………………………….………………………28
5.2.3.建立根文件系统的动态库…………………………………………..…………..29
5.2.4.建立所建根文件系统目录下等的配置文件…………….…………………..31
5.2.5.编译并安装内核模块………………………………..………………….……….33
5.2.6.配置的Linux内核以及重新编译………………………………………….………..33
5.3测试根文件系统…………………………………………….……………………………...35
6.结论........................................................................................................................36
致谢.............................................................................................................................37
参考文献.....................................................................................................................38
摘要
Linux操作系统是一个开放源代码的免费操作系统。
它不仅有安全、稳定、成本低的特点,而且很少发现有病毒传播。
HTTP服务器是web服务器的一种,它是基于超文本传输协议HTTP的服务器。
基于Linux具有稳定、可靠、安全和强大的网络功能这些优点,使得其主要应用于服务器领域。
所以本文选择在Linux环境下实现一个HTTP服务器。
本文研究了在ARM平台上移植linux操作系统,它作为实现设备小型化、智能化的一个重要元素,目前己经广泛应用于国防、工业、交通、能源、信息技术以及日常生活等各个领域,研究和开发linux操作系统在ARM平台上的移植具有重要的现实意义。
本文主要介绍了将公开源代码的linux3.3.5内核移植到友善的tiny210,256M的FLASH开发板,关键技术分析以及具体的移植过程,建立嵌入式Linux交叉开发环境,移植BootLoader引导程序,配置、编译、移植Linux内核,制作文件系统并对文件系统进行移植到开发板。
我们可以根据内核所支持的文件系统类型制作文件系统本论文选择制作yaffs文件系统并移植。
并且vim,arm-linux-gcc开发环境下设计了一个简单的测试程序。
另外,基于此平台的开发也将使软件缺陷大幅度减少,从而为程序员开发此平台上进行二次开发。
关键词:
系统移植;BootLoader;tiny210;Linux3.3.5
Abstract
TheLinuxoperatingsystemisanopensourcefreeoperatingsystem.Itisnotonlysafe,stable,lowcostcharacteristics,andrarelyfoundavirusspread.HTTPserverisakindofwebserver,itisbasedontheHypertextTransferProtocolHTTPserver.BasedonLinux,theseadvantages,whicharestable,reliable,secureandpowerfulnetworkfunctions,makeitprimarilyusedintheserverdomain.
ThispaperstudiesthetransplantedLinuxoperatingsystemontheARMplatform.Ithasbeenwidelyusedindefense,industry,transportation,energy,informationtechnologyanddailylife.Ithasbeenwidelyusedintheresearchofminiaturizationandintelligence.AndthedevelopmentoflinuxoperatingsystemintheARMplatformtransplantationhasimportantpracticalsignificance.Thisarticlemainlyintroducestheopensourcelinux3.3.5kerneltransplantedtothefriendlytiny210,256MFLASHdevelopmentboard,thekeytechnicalanalysisandthespecifictransplantprocess,theestablishmentofembeddedLinuxcrossdevelopmentenvironment,transplantBootLoaderbootprogram,configuration,compile,TransplanttheLinuxkernel,makethefilesystemandportthefilesystemtothedevelopmentboard.WecanaccordingtothekerneltosupportthefilesystemtypetocreateafilesystemThispaperchoosestomakeyaffsfilesystemandtransplant.Andvim,arm-linux-gccdevelopmentenvironmentdesignedasimpletestprocedures.Inaddition,basedonthedevelopmentofthisplatformwillalsomakeasignificantreductioninsoftwaredefects,soastoprogrammerstodevelopthisplatformforsecondarydevelopment.
Keywords:
systemporting;BootLoader;tiny210;Linux3.3.5
第一章绪论
1.引言
1.1课题研究的背景、目的和意义
目前,市场上存在的众多的嵌入式操作系统,而在这些系统之中,兼有Linux和嵌入式优点的嵌入式Linux操作系统,凭借其在结构清晰、源代码开放性、裁剪性好,开发与使用均易实现等方面的优势,拥有巨大的市场前景和商业机会。
当前嵌入式Linux的一个热点应用就是将Linux内核移植到一些典型的微控制器和微处理器上,提供操作系统层面支持,以实现嵌入式系统用软件的开发。
系统地研究嵌入式Linux系统的移植有很大的现实意义。
首先,可以增加对S3C2440A以微处理器、内置外设以及系统扩展的了解,有助于将来的嵌入式学习。
其次,可以熟悉嵌入式软件系统移植的整个过程,对该过程有整体上的把握,对后续的嵌入式系统开发有指导性意义。
最后,通过该研究过程可以构建较新版的软件系统,实现更好的系统性能,最重要的是可以在实践基础上增加对系统移植理论的理解并积累丰富的系统移植经验,为后续的嵌入式应用开发打下坚实的基础。
国内外嵌入式系统的发展概况我国国内的嵌入式软件市场已处于整体启动阶段。
国内嵌入式软件市场未来的发展重点在于对应用范围的拓展。
随着Internet的发展以及Internet技术在信息家电、工业控制技术等领域的应用,嵌入式系统与Internet的结合将代表着嵌入式技术的真正未来。
嵌入式处理器是嵌入式系统的核心,是辅助、控制系统运行的硬件单元,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构包括MPU、MCU等三十几个系列,速度越来越快,性能越来越强,价格也越来越低。
根据其现状,
嵌入式处理器可分成下面几类。
(1)嵌入式微处理器(EmbeddedMICroprocssorUnit,EMP)
(2)嵌入式微控制器(MicrocontrollerUnit,MCU)
(3)嵌入式DSP处理器(EmbeddedDigitalSignalProcessor)
(4)嵌入式片上系统(SystemonChip,SOC)
嵌入式操作系统是嵌入式应用软件的基础和开发平台,用户的其它应用程序都建立在操作系统之上。
但嵌入式操作系统并不是简单嵌入的操作系统,它与通常意义的操作系统有所区别。
嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配和调度工作。
Linux是一套以UNIX为基础发展而来的操作系统。
自1991年诞生至今,以惊人的速度发展。
Linux在很多方面己经赶上甚至超过了很多商用的UNIX系统。
它充分利用了x86CPU的任务切换机制,实现了真正的多任务、多用户环境。
Linux对硬件配置的要求相当低,能够在4M内存的386机器上很好的运行。
而且可以支持多种处理器芯片。
在应用于嵌入式系统方面,Linux己经在许多典型的硬件平台上实现了移植,这些平台包括ARM、MIPS、PowerPC等。
随着Linux2.6内核的发布,Linux向现有主流的RTOS提供商在嵌入式系统市场提出了巨大挑战,将成为更优秀的嵌入式操作系统。
Linux2.6在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:
采用可抢占内核、更加有效的调度算法以及同步性的提高。
本课题以飞凌嵌入式技术有限公司的以S3C2440A为核心的ARM9开发板FL2440为硬件开发平台,在此基础上,实现嵌入式Linux系统的移植。
在了解了系统移植方法并做了大量的工程实践的基础上,从无到有的建立了一个可用的嵌入式Linux系统,包括移植了功能较强的BootLoader、性能更好的Linux2.6.28版本内核。
其移植过程不脱离一般性,但因具体开发环境的不同,移植过程中会涉及到很多具体问题。
主要研究内容
(1)建立嵌入式Linux交叉开发环境对于嵌入式系统,目标板一般只有很小的存储空间,处理器频率也较低。
直接在这样的硬件上建立Linux系统非常困难。
嵌入式Linux交叉开发环境可以很好地解决这个难题,即实现在PC机上编译嵌入式系统要运行的程序。
(2)移植BootLoader引导程序嵌入式Linux内核通常需要目标板上的引导程序引导来引导内核的启动,这些引导程序就是BootLoader。
BootLoder所处层次位置如下图1所示。
BootLoader在目标板上电的时候运行,主要完成开发板初始化和Linux内核引导的任务。
由于BootLoder和CPU及电路板的配置相关,不可能有通用的BootLoader,开发时需要根据具体情况进行移植。
本次毕业设计所用的BootLoader是开发板官网上下载的,所以可以更加稳定的在开发板上运行Linux系统。
图1-1BootLoader所处层次
(3)配置、编译、移植Linux内核详细分析了Linux移植的要点,并对目前较新的2.6版Linux内核源码进行了移植、配置和编译。
(4)对文件系统进行移植到开发板。
根据内核所支持的文件系统类型选择文件系统,本论文选择触屏yaffs文件系统并移植。
1.1.1嵌入式系统的概述
随着各种芯片技术的发展,各种嵌入式产品也如雨后春笋一般地出现了。
目前,嵌入式产品应用领域涉及移动通信、汽车、医疗、家电等很多领域。
而且,如今的嵌入式硬件的速度和容量越来越接近于PC,因此在这些嵌入式产品上运行操作系统就成为了可能。
一直以来,很多企业花费了巨大成本研发了大量运行在PC上的软件产品。
如果将这些优秀的软件应用在嵌入式系统中,将会成为快速开发嵌入式系统,降低嵌入式产品开发成本,提高软件稳定性和安全性的重要途径。
论文课题的主要研究目的是:
在以S3C6410(ARM1176核)微处理器为核心的硬件平台上,搭建通用的嵌入式Linux(使用的内核是3.3.3版本的)软件开发平台,以便在其上做二次开发。
系统地研究嵌入式Linux系统的移植有很大的现实意义。
首先,可以增加对S3C6410以微处理器、内置外设以及系统扩展的了解,有助于将来的嵌入式学习。
其次,可以熟悉嵌入式软件系统移植的整个过程,对该过程有整体上的把握,对后续的嵌入式系统开发有指导性意义。
最后,通过该研究过程可以构建较新版的软件系统,实现更好的系统性能,最重要的是可以在实践基础上增加对系统移植理论的理解并积累丰富的系统移植经验,为后续的嵌入式应用开发打下坚实的基础。
1.1.2嵌入式系统的特点及发展趋势
嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面、图形界面和灵活的控制方式。
这就要求嵌入式软件设计者要在图形界面、多媒体技术上多下功夫(这样可以使客户更轻松方便的使用嵌入式产品)。
我国国内的嵌入式软件市场已处于整体启动阶段。
国内嵌入式软件市场未来的发展重点在于对应用范围的拓展。
随着Internet的发展以及Internet技术在信息家电、工业控制技术等领域的应用,嵌入式系统与Internet的结合将代表着嵌入式技术的真正未来。
从国家战略目标与产业发展来看,嵌入式软件是实现传统制造业转型与提升的关键技术,它对整体提升我国制造业的能力、大幅度地增强我国软件自主创新能力意义重大;推动嵌入式软件技术与产业的技术进步与快速发展。
1.1.3嵌入式软件的未来发展及应用
我们认为中国在发展嵌入式软件方面,应大力发展关键性、共性化的嵌入式操作系统与嵌入式软件平台;围绕行业,聚焦行业,依托龙头企业,突出重点区域,建设面向领域的嵌入式软件平台系统,提升我国嵌入式操作系统厂商的整体实力,提升整机制造行业在嵌入式软件上的核心竞争力;面向产业链,建设上下配合左右互动的合作性战略产业技术联盟,促进嵌入式软件产业的快速发展。
嵌入式技术现在飞速发展,在各种行业的深入渗透。
我国具有雄厚的制造业基础,与传统的制造业结合,嵌入式系统有着非常大的市场发展空间。
同时,基于嵌入式技术的应用和技术创新,将推动新产品、新产业的诞生。
在巨大的市场需求和新的产业契机的推动下,嵌入式软件成为中国软件业的一次难得的机遇。
智能手机、数字电视、以及汽车电子的嵌入式应用,机遇与挑战并存。
1.2本课题研究的意义
随着各种芯片技术的发展,各种嵌入式产品也如雨后春笋一般地出现了。
目前,嵌入式产品应用领域涉及移动通信、汽车、医疗、家电等很多领域。
而且,如今的嵌入式硬件的速度和容量越来越接近于PC,因此在这些嵌入式产品上运行操作系统就成为了可能。
一直以来,很多企业花费了巨大成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 系统 内核 移植