linux的移植重点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux的移植、内核、文件系统的生成与下载 一、实验目的 1.了解内核编译过程 2.了解linux移植的基本过程,掌握内核和文件系统的下载方法。 3.掌握嵌入式主机运行环境的配置。 二、实验内容 1. 学习内核编译的过程 2. 学习linux移植的基本过程 2. 学习内核和文件系统的生成与下载方法 三、实验设备 1. PentiumII以上的PC机、EL-ARM860实验箱 四、linux的移植说明 1.内核编译 1)内核的结构 本实验系统运行的linux版本是针对linux-2.6.28进行移植的,其组成结构如下图所示:  图 linux-2.6.28的目录结构图 Linux内核非常庞大,包括驱动程序在内有上百兆。如下图示其主要结构目录: /arch 子目录包含了所有与硬件体系结构相关的内核移植代码。其中每一个目录都代表一种硬件平台,对于每种平台都应该包括: boot: 包括启动内核所使用的部分或全部平台的相关代码。 kernel: 包括支持体系结构特有的特征代码 lib:包括存放体系结构特有的通用函数的实现代码 mm: 包括存放体系结构特有的内存管理程序的实现 mach-xxx:包括存放该处理器的移植代码 /Documentation 子目录包含有关内核的通用解释和注释。 /drivers 子目录包含内核中所有的设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。 /fs 子目录包含了所支持的文件系统的代码,如EXT、FAT、NTFS、JFFS2等。 /include 子目录包含了建立内核代码时所需的大部分库文件的头文件,该模块利用其他模块重建内核。同时,它也包括不同平台需要的库文件,被放置在include/linux 子目录下。 /init 子目录包含了内核的初始化代码,内核从此目录下开始工作。 /ipc 子目录包含了内核的进程间通讯的代码。 /kernel 子目录是内核的最核心部分,包含了进程调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel目录下。 /lib 子目录包含了通用的库函数代码等。 /mm 子目录包含了内核的内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。 /net 子目录包含了内核的网络相关的代码,实现了各种常见的网络协议。 /scripts 子目录包含了配置内核的一些脚本文件。 /security主要是一个SELinux的模块。 /sound:ALSA、OSS音频设备的驱动核心代码和常用设备驱动。 /usr:实现了用于打包和压缩的cpio等。 一般在每个目录下,都有一个.depend 文件和一个 Makefile 文件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件这间的联系和依托关系很有帮助;而且,在有的目录下还有Readme 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解。因此,移植工作的重点就是移植arch目录下的文件。 从内核的目录结构看出,Linux内核主要由5个子系统组成: 进程调度(SCHED)子系统 进程间通讯(IPC)子系统 内存管理(MM)子系统 虚拟文件系统(VFS)子系统 网络接口(NET)子系统 2)linux内核的编译 Linux内核是指linux源代码经过编译和链接生成的映像文件(Image),它存在压缩和非压缩两种形式。本质上映像文件是一个可执行程序,由bootloader加载运行。 Linux内核从配置到安装大致有如下步骤: 1)进入内核源码,使用命令make distclean、make clean、make mrproper。 2)配置内核,最常见的命令为make menuconfig。 3)建立依赖关系,最常见的命令为make dep。 4)编译内核,最常见的命令为make或make zImage。 5)如果需要编译内核模块,最常见的命令为make modules。 6)如果需要安装内核模块,最常见的命令为make modules_install。 7)安装内核,最常见的命令为make install。 操作:找到光盘中的Linux-2.6.28-omap.tar.bz2,复制到linux下的/home目录下,在终端下进入/home目录,输入:tar xvzf Linux-2.6.28-omap.tar.bz2进行解压。 编译步骤为:在虚拟机里面打开终端,进入/home/ Linux-2.6.28-omap目录,在终端下输入命令:make omap3_techv35xx_defconfig 有可能存在交叉编译器的路径设置,使用默认的配置编译,如果需要选择编译选项,使用下面的命令: make uImage 等待编译

文档评论(0)

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

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

1亿VIP精品文档

相关文档