(补充)LINUX分析.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章补充2 LINUX--2 主要内容 1、LINUX内核移植 2、LINUX内核裁剪 3、LINUX内核编译 4、文件系统 6.1 LINUX内核移植 LINUX移植即把LINUX操作系统针对具体的目标平台做必要修改之后,安装到该目标平台使其正确地运转起来。 6.1 LINUX内核移植 内核移植基本内容:获取某一版本的LINUX内核源码,根据具体目标平台对该源码进行必要的改写,然后添加一些外设驱动,打造一款适合于目标平台的新操作系统,并对该系统进行针对目标平台的交叉编译,生成一个内核映像文件,最后通过一些手段把该映像文件烧写到目标平台中。 6.1 LINUX内核移植 内核移植 :对源码的修改难度较大,一般由目标平台提供商完成。 ARM内核移植:对源码的修改由ARM公司完成,从网站上下载相关版本LINUX内核的补丁,把它打到所用的LINUX内核上,再进行交叉编译即可。 ARM内核移植基本过程 从.uk下载linux内核及关于ARM平台的补丁。 给linux内核打补丁。 准备交叉编译环境。 修改内核目录下的makefile文件。 进行编译。 makefile 一个工程中的文件众多,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。 Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。 LINUX内核源码修改 内核源码修改主要包括:启动代码的修改、内核的链接及装入、参数传递和内核引导。 修改ARCH目录下的相应的内核文件。 6.2 LINUX内核的裁剪 LINUX内核裁剪:定制用户配置。 LINUX内核的编译菜单有几个版本(见下页)。 所有内核配置菜单都是通过config.in经由不同脚本解释器产生.config LINUX内核的裁剪 make config:基于文本的最为传统的配置界面,不推荐使用; make menuconfig:基于文本菜单的配置界面,字符终端下推荐使用; make xconfig:基于图形窗口模式的配置界面,X-window下推荐使用。 上述配置命令的目的是一样的,那就是生成一个.config文件。在选择相应的配置时,有三种选择,它们分别代表的含义如下: Y-将该功能编译进内核 N-不将该功能编译进内核 M-将该功能编译成可以在需要时动态插入到内核中的模块 6.3 LINUX内核的编译 为什么要编译内核? 硬件是需要内核支持才行,有些硬件的支持没有被编入内核,这也需要我们重编内核;内核的包含的不仅仅是设备的驱动,还有其它的内容,比如网络协议的支持,防火墙的支持... ... 比如iptables的实现,有些功能是需要内核支持的,如果内核与iptables相关的内容没有被编入,iptables 相关的功能就无法实现。 编译内核步骤 下载Linux内核源代码: 解压缩: # tar jxvf up-linux-2.6.9-release.tar.bz2 进入内核目录,删除不必要的文件和目录,配置、编译: # cd linux-2.6.9-release # make mrproper # make menuconfig # make clean # make dep # make bzImage 生成的二进制文件为zImage 存储在./arch/arm/boot/目录下 6.4 文件系统 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。 文件系统为LINUX操作系统不可或缺的重要组成部分。用户通过文件系统、操作系统与硬件设备进行交互。 理解文件系统的几个关键词:存储介质,磁盘的分割,文件系统的创建(初始化),挂载(将一个设备(通常是存储设备)挂接到一个已存在的目录上 )。 LINUX通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持。 6.4 文件系统 JFFS与MTD JFFS JFFS2 JFFS2 JFFS3 YAFFS 比较JFFS和YAFFS tmpfs 文件系统的安装(mount) 一个硬盘上可以同时存在多个文件系统,每个文件系统占据硬盘的一个独立分区。Linux文件系统可以根据需要随时装卸,从而实现文件存储空间的动态扩充和信息安全。 在系统初启时,往往只有一个文件系统被安装上,即根文件系统,其上的文件主要是保证系统正常运行的操作系统的代码文件,以及若干语言编译程序、命令解释

文档评论(0)

糖糖 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档