您的位置:首页 > 运维架构 > Linux

手把手教你北邮操作系统小学期实验实验二——Linux 系统内核/系统配置小型化1

2018-01-28 20:39 429 查看

手把手教你北邮操作系统小学期实验实验二——Linux 系统内核/系统配置小型化1

1.实验目的:

1 个 Linux 系统发行版本可多达上百兆,功能众多,支持众多硬件设施。但在一个 实际 Linux 应用系统中,并非用到 Linux系统发行版本所提供的全部功能。所以,可以 针对实际计算机系统的硬件配置及其应用需求,对 Linux 系统内核/系统进行合理的选择和裁减,得到一个更接近实际需要的、无冗余、启动和运行更为高效的 Linux 系统。

例如,嵌入式系统存储容量有限、支持的硬件外设类型也有限,因此可通过内核/系统配置与裁减,选择嵌入式应用系统所必需的一些内核/系统功能(如设备驱动程序)进行配置。由此得到一个满足系统功能、体积更小的、可放入嵌入式系统的容量较小的 Flash 中的 Linux 系统内核。

本实验要求学生针对 PC 机上的 Linux 系统发行版本,利用 make menuconfig 方法,

在对硬件深入了解的基础上,选择相应的设备驱动程序和与主机 CPU 相关的 Linux 部 分,进行 Linux 系统内核/系统配置,掌握 Linux 系统内核/系统的配置方法。

2.实验内容:

对实验所用 PC 机硬件深入了解,了解 Linux 系统发行版本中的所包含的模块

按照参考文献[2]“6.1 Linux 内核配置与编译”、参考文献[1]“6.4 系统小型化” 的内容,利用 make menuconfig 方法,将不必要的内核功能去掉,只留下最基本的 一些功能模块,如 CPU 为 i586、IDE 设备驱动、TCP/IP 协议栈、ne2000 网卡驱 动、Minix 文件系统等,完成内核配置工作。

比较配置前后 Linux 内核/系统的体积大小、功能差异,指明配置过程中各配置 选项的作用。

3.实验步骤:

已经加载的内核模块:

ide-cd:
连接到IDE接口的光驱模块


cdrom:
光盘只读存储器模块


lp:
并口模块


parport:
并行端口仲裁模块


autofs:
自动加载器模块


pcnet32:
网卡驱动程序模块


mii:
MII硬件支持库


ipt_REJECT:
ipv4数据包拒绝模块


iptable_filter:
iptable过滤器表模块


ip_tables:
ipv4数据包过滤器模块


keydev:
键盘设备模块


mousedev:
鼠标设备模块


hid:
人机接口设备


input:
输入模块


usb-ohci:
use主机接口控制模块


usbcore:
usb核心模块


ext3:
第三代文件扩展系统模块


jbd:
journaling block device通用文件系统模块




内核小型化

查看小型化之前内核模块大小——可以看出内核较大



使用make menuconfig配置内核



Code maturity level options



这个选项会使用一些已经被弃用的驱动,主要用于开放新功能和测试。选择Y。

Loadable module support



Enable loadable module support:打开可加载模块支持,让内核支持模块的插入和删除通过insmod和rmmod程序。选择Y

Set version information on all module symbols:模块经常需要重新编译,当我们转移到新的内核的时候。如果选择Y我们就可以安全的使用一样的模块在新的内核中。但是这个选项需要modutils package的支持,如果没有导致编译内核失败。选择N

Kernel module loader:当我们使用一些模块时候,需要其他相关模块的支持。如果我们选择Y内核会帮我们自动加载它们。选择Y

General setup



General setup一般为一些基础设置如内核的网络支持、PCI支持和探测PCI设备的方式等,按照默认设置不改动。

Memory technology devices



未完待续…(接2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: