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

手把手教你北邮操作系统小学期实验二——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通用文件系统模块

2. 内核小型化

2.1 查看小型化之前内核模块大小

这里写图片描述

2.2 使用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)

猜你喜欢

转载自blog.csdn.net/XiaoyYidiaodiao/article/details/79189281