久久首页
免费软件
网络时尚
网络学堂
专题讨论
网络资源
网络游戏
网络文档
网络产品
网站导航: 首页 > 操作系统 > Linux Kernel HOWTO 中译版 > 9.可载入模组 文档讨论

Linux Kernel HOWTO 中译版

后退 9.可载入模组 前进

2004-02-14 Brian Ward 译者: C.W.Huang & Asd L. Chen http://www.math.psu.edu/ward/
 
可载入模组能够节省内存,而且很容易设定.模组的范围已经包含了文件系统,以太网卡驱动程序,磁带机,打印机驱动程序,还有更多.

9.1 安装模组工具

模组工具可以从你取得核心的地方找到,如 modules-x.y.z.tar.gz; 选择与你目前核心版本相等或稍低的最接近的 x.y.z.用 `tar zxvf modules-x.y.z.tar.gz' 解开. cd 到它产生的目录(modules-x.y.z),看一下 README,然后按照安装指示执行 (通常很简单,就像 make install 之类的).然后你在 /sbin 应该会有这些程序 insmod, rmmod, ksyms, lsmod, genksyms, modprobe, 以及 depmod.如果你想的话,可以用 insmod 里的范例驱动程序``hw''来测试这些工具; 参见 INSTALL 档里的细节说明.

insmod 指令将一个模组插入运行中的核心.模组通会以 .o 为结尾; 上面提到的范例程序就叫做 drv_hello.o,因此要插入此模组,就用 `insmod drv_hello.o'.要了解目前核心正在使用的模组,用 lsmod 指令.输出看起来像这样:

    blah# lsmod
    Module:        #pages:  Used by:
    drv_hello          1

`drv_hello' 是这模组的域名,它用了一页 (4K) 的内存,而且目前没有其它的核心模组依赖於它.要移除此模组,用 `rmmod drv_hello'.注意 rmmod 需要的是模组域名,而不是文件域名; 就是你从 lsmod 指令列出来的.其余工具的作用在在线手册中都有说明.

9.2 与核心发行的模组

在 2.0.30 版中,几乎所有的东西都可以变成可载入模组.要使用可载入模组,首先确定你没有将其配置到正常的核心里,也就是说,在 `make config' 时不是回答 y.编译新核心并用它来开机.然后,再次 cd 到 /usr/src/linux,然后执行 `make modules'.这将编译所有你未指定在核心配置里的模组,并将其连结到 /usr/src/linux/modules.你可以直接由此目录使用,或是执行 `make modules_install' 将其安装到 /lib/modules/x.y.z,其中 x.y.z 是核心版本.

这对处理文件系统上特别便利.你可能并不经常使用 minix 或 MS-DOS 的文件系统.例如,如果我遇到一 MS-DOS 的软盘片,我会用 insmod /usr/src/linux/modules/msdos.o,并在使用完成後用 rmmod msdos 指令将其去掉.此过程大约可以节省核心 50K 左右的内存.对于 minix 文件系统有一点要注意的就是,为了要使用``急救磁盘'',你应该总是直接将它配置到核心中.
 
后退 目录 前进
8.升级至 2.0.x 的注意事项 10.其它配置选项
 
发表评论 关闭窗口
 相关内容
 
 文档分类
操作系统
网络服务
编程语言
数据库
RFC请求注解
基础原理
软件使用
硬件参考
解决方案
 文章搜索
 
网站简介 | 广告服务 | 编程支持 | 设计服务 | 诚邀合作 | 访客留言
Copyright © 1999-2004 99NET. All Rights Reserved
版权所有 久久网络工作室
Email:webmaster@99net.net