- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux的移植
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 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解。)Linux内核是指linux源代码经过编译和链接生成的映像文件(Image)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
等待编译结束,编译结束后会在arch/arm/boot目录下生成uImage。
3)内核的配置
linux内核的配置系统由三个部分组成,分别是:Makefile:分布在Linux内核源代码中的Makefile,定义linux内核的编译规则;配置文件(config.h):给用户提供配置选择功能;配置工具:包括命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界
文档评论(0)