linux内核裁剪课程设计.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告 课程名称: Linux原理与设计 设计题目: Linux裁剪内核 专 业: 计算机科学与技术专业 姓 名: 学 号: 引言 当Linux操作系统发布以后,一般是不需要编译内核的。但是在实际应用中,当需要增加操作系统对新的硬件设备的支持或者增加内核新的功能、对内核代码或者内核配置进行优化时,就需要去重新编译Linux内核,然后重新发布自己的Linux内核版本。本次实验是对下载的内核源码进行配置并编译,用编译出的内核重新引导系统。 实验原理 Linux内核的配置系统由三个部分组成, 2.1.1 Makefile:分布在 Linux 内核源代码中,定义 Linux 内核 2.1.2 配置文件(config.in):给用户提供配置选择的功能 2.1.3 配置工具:包括配置命令解释器和配置用户界面对配置脚本中使用的配置命令进行解释Make config提供基于字符界面;Make menuconfig提供基于Ncurses 图形界面 运行工作环境和配置说明 本实验采用的内核版本是,配置工具采用版本提供的makegconfig。1.安装 gcc, make 等编译工具: apt-get install build-essential 2.安装 make menuconfig 时必须的库文件:NCurses (libncurses5-dev 或 ncurses-devel) ,这是当make menuconfig 时用作生成菜单窗口的程序库: apt-get install libncurses-dev apt-get install kernel-package 3.安装Linux系统生成 kernel-image 的一些配置文件和工具 apt-get install fakeroot apt-get install initramfs-tools, module-init-tools 4.一般在编译 Linux 内核时,一般还需要以下工具(这些工具一般是可选的): GNU C++ Compiler (g++ 或 gcc-c++) - 编译 make xconfig 使用的 Qt 窗口时需要 Qt 3 (qt-devel 或 qt3-devel) - make xconfig 时用作 Qt 窗口的程序库 GTK+ (gtk+-devel) - make gconfig 时用作 GTK+ 窗口的程序库 Glade (libglade2-devel) - 要编译 make gconfig 时的 GTK+ 窗口时需要 在Ubuntu系统中,我们可以使用下面的命令来获得相关的软件包: apt-get update apt-get install libncurses5-dev wget bzip2 文件系统中设计的文件夹及其中文件的清单 Linux内核源码主目录下主要包括以下目录: arch arch子目录包括所有与体系结构相关的内核代码。它的每一个子目录都代表一个支持的体系结构。例如:arm下面就是arm体系架构的处理器目录,包含我们使用的PXA处理器。 include include子目录包括编译内核所需要的大部分头文件。与ARM相关的头文件在include/asm-arm子目录下。 init 这个目录包含内核的初始化代码,但不是系统的引导代码,包含main.c和Version.c文件。这是研究Linux内核的起点。 mm 这里包含所有独立于CPU体系结构的内存管理代码,如页式存储管理内存的分配和释放等。而与体系结构相关的代码在arch/arm/mm中。 Kernel 这里包括主要的内核代码,此目录写的文件实现大多数Linux系统的内核函数,其中最重要的文件是sched.c。与Xscale体系结构相关的代码 在arch/arm-pxa/kernel。 Drives 此目录用于放置系统所有的设备驱动程序,每种驱动程序个占一个子目录。 /block: 块设备驱动程序。块设备包括IDE和scsi设备。其初始化过程参加drivers/block/genhd.c中的device_setup()函数,该函数不仅初始化硬盘还初始化了网络。 /char:字符设备驱动程序。如串口、鼠标等。 /cdrom:包含Linux所有的CD-RO

文档评论(0)

li455504605 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档