
执行内核模块:使用make命令,路径为$(LINUX_PATH),目标文件为M=$(CURRENT_PATH),生成模块。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
模块通常被设计用于支持那些使用频率较低的功能。例如,在日常使用中,您通常会依赖拨号网络,因此网络功能并非始终都需要,因此建议采用可加载模块来提供此功能。该模块仅在您进行拨号连接时才会被加载,断开连接时则会自动卸载。这种做法能够显著减少内核使用的内存量,从而减轻系统的负担。另一方面,诸如硬盘访问等时刻都需要的功能必须直接集成到内核中。如果您搭建一台网络工作站或 Web 服务器,那么网络功能则需要持续可用,因此应考虑将网络功能编译到内核中。此外,另一种可行的方法是在启动时就加载网络模块。这种方法的优势在于无需重新编译内核;然而,其缺点是网络功能可能无法达到最佳效率。
根据上述原则,我们首先需要编制一份清单,以确定哪些内核选项是必不可少的——即这些选项必须编译到内核中。随后,我们将那些非必要的模块剔除到内核之外。首要选项之一是根目录所在的硬盘配置:如果您的硬盘采用 IDE 接口,请务必标记相应的 IDE 选项;如果是 SCSI 接口,请记录您的接口参数和 SCSI ID。
接下来需要选择使用哪种文件系统。Linux 的默认文件系统为 ext2 ,因此必须将其标记下来。如果您的机器还安装了其他操作系统(例如 Windows 98 或 Windows NT),您可能还需要选择 FAT32 或 NTFS 的支持;不过,您可以手动加载新的模块来添加额外的支持。
最后需要选择 Linux 支持的可执行文件格式:这里有两种格式可供选择:ELF 是一种当前 Linux 普遍支持的可执行文件格式,必须编译到内核中;而 a.out 是旧版 Linux 的可执行文件格式及其函数库格式。如果您确信不会使用这种格式的可执行文件,那么可以不将其编译到内核中。
以上内容都是必须编译到内核中的关键要素。其余选项中所有提示的选项都应选择“m”,以便可以通过手动方式添加相应的模块。
* **Loadable module support**启用可加载模块支持 (CONFIG_MODULES) [Y/n/?]
设置所有模块符号的版本信息 (CONFIG_MODVERSIONS) [N/y/?]
* Kernel daemon support (例如自动加载模块) (CONFIG_KERNELD) [Y/n/?] 请分别回答 Y, N, Y 。其中 CONFIG_KERNELD 的默认值为 N ,请注意选择 Y 。
完成 make config 后, 仍需执行 make dep; make clean.
接下来运行 make zlilo 或 make zImage 。然后执行 make modules ; make modules_install 。最终会生成一个没有加载过多冗余模块的“干净”内核映像文件.
全部评论 (0)


