Linux内核的配置编译和移植.PDF

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核的配置编译和移植

第十章 第十章 Linux内核的配置、 Linux内核的配置、 编译和移植 编译和移植 嵌入式开发流程 嵌入式开发流程 建立交叉编译环境 启动代码Bootloader的实现/移植 kernel的配置/移植/编译 根文件系统Cramfs的实现 主要内容 主要内容 • 移植的概念 • Linux内核结构 • kernel的移植 10.1 移植的概念 10.1 移植的概念 10.1 移植的概念 10.1 移植的概念 10.1 移植的概念 • 在同一个硬件平台上可以嵌入不同的嵌入式操作 系统,就好比PC既开放安装Windows又可以安 装Linux一样。 • 同样,有些操作系统经过移植后可以运行在不同 的硬件平台上。如果一个系统可以在不同硬件平 台上运行,那么这个系统就是可移植的。 • 使某一个平台的代码运行在其它平台上的过程叫 做移植。 • Linux操作系统就可以通过移植,运行在ARM、 PowerPC等多种硬件平台上。考虑到嵌入式系 统是“硬件可裁减”的,以及不同的用户需求,我 们需要对已有的内核代码进行裁减移植。 10.2 Linux 内核结构 10.2 Linux 内核结构 10.2 Linux 内核结构 10.2 Linux内核结构 10.2 Linux内核结构 • 一般在Linux系统中的/usr/src/Linux- *.*.*(*.*.*代表内核版本) 目录下就是内核源 代码。 • Linux内核非常庞大,包括驱动程序在内有数百 兆之多。 Linux kernel arch drivers mm init fs ipckernel include net usb sound ... i386 … arm ext3 … cramfs bluetooth … x25 10.2 Linux内核结构 10.2 Linux内核结构 • /arch 目录:包含了体系结构相关部分的内核代 码,其中的每一个目录都代表一种硬件平台,比 如我所使用的ARM平台和PC机使用的i386。 对于任何一种平台,都包括以下5个目录: boot、kernel、lib、mm和math-xxx 。 显然,移植工作的重点就是arch 目录下的文 件。 • /drivers 目录:包含了内核中所有的设备驱动 程序。它占整个内核发行版本代码的一半以上, 非常庞大。其中,有些驱动程序是与硬件平台无 关的而有些是相关的。 10.2 Linux内核结构 10.2 Linux内核结构 • /fs 目录:包含了Linux所支持的所有文件系 统。一般来说,文件系统与硬件无关。 • /include 目录:包含了建立内核代码时所需的 大部分头文件,比如,与平台无关的头文件在 include/linux子目录下。此外,也包括了不 同平台需要的库文件,比如,asm-arm是 ARM平台需要的库文件。 • /init 目录:包含了内核的初始化代码(不是系 统的引导代码),有main.c和version.c两个 文件。内核从此工作。 10.2 Linux内核结构 10.2 Linux内核结构 • /ipc 目录:包含了核心进程间的通信代码。 • /kernel 目录:包含了内核管理的核心代码。 • /lib 目录:包

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档