⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kernel-howto-9.html

📁 LINUX的内核配置手册
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7"> <TITLE>Kernel HOWTO 中译版: 可载入模组</TITLE> <LINK HREF="Kernel-HOWTO-10.html" REL=next> <LINK HREF="Kernel-HOWTO-8.html" REL=previous> <LINK HREF="Kernel-HOWTO.html#toc9" REL=contents></HEAD><BODY><A HREF="Kernel-HOWTO-10.html">Next</A><A HREF="Kernel-HOWTO-8.html">Previous</A><A HREF="Kernel-HOWTO.html#toc9">Contents</A><HR><H2><A NAME="s9">9. 可载入模组</A></H2><P>可载入模组能够节省记忆体,而且很容易设定.模组的□围已经包含了档案系统,乙太网路卡驱动程式,磁带机,印表机驱动程式,还有更多.<P><H2><A NAME="ss9.1">9.1 安装模组工具</A></H2><P>模组工具可以从你取得核心的地方找到,如 <CODE>modules-x.y.z.tar.gz</CODE>;选择与你目前核心版本相等或稍低的最接近的 <CODE>x.y.z</CODE>.用 `<CODE>tar zxvf modules-x.y.z.tar.gz</CODE>' 解开.<CODE>cd</CODE> 到它产生的目录(<CODE>modules-x.y.z</CODE>),看一下 <CODE>README</CODE>,然後按照安装指示执行 (通常很简单,就像 <CODE>make install</CODE> 之类的).然後你在 <CODE>/sbin</CODE> 应该会有这些程式 <CODE>insmod</CODE>, <CODE>rmmod</CODE>, <CODE>ksyms</CODE>, <CODE>lsmod</CODE>, <CODE>genksyms</CODE>, <CODE>modprobe</CODE>, 以及 <CODE>depmod</CODE>.如果你想的话,可以用 <CODE>insmod</CODE> 里的□例驱动程式``hw''来测试这些工具;参见 <CODE>INSTALL</CODE> 档里的细节说明.<P><CODE>insmod</CODE> 指令将一个模组插入运行中的核心.模组通会以 <CODE>.o</CODE> 为结尾;上面提到的□例程式就叫做 <CODE>drv_hello.o</CODE>,因此要插入此模组,就用 `<CODE>insmod drv_hello.o</CODE>'.要了解目前核心正在使用的模组,用 <CODE>lsmod</CODE> 指令.输出看起来像这样:<PRE>    blah# lsmod    Module:        #pages:  Used by:    drv_hello          1</PRE>`<CODE>drv_hello</CODE>' 是这模组的名称,它用了一页 (4K) 的记忆体,而且目前没有其它的核心模组依赖於它.要移除此模组,用 `<CODE>rmmod drv_hello</CODE>'.注意 <CODE>rmmod</CODE> 需要的是<I>模组名称</I>,而不是档案名称; 就是你从 <CODE>lsmod</CODE> 指令列出来的.其馀工具的作用在线上手册中都有说明.<P><H2><A NAME="ss9.2">9.2 与核心发行的模组</A></H2><P>在 2.0.30 版中,几乎所有的东西都可以变成可载入模组.要使用可载入模组,首先确定你没有将其配置到正常的核心里,也就是说,在 `<CODE>make config</CODE>' 时不是回答 <CODE>y</CODE>.编译新核心并用它来开机.然後,再次 <CODE>cd</CODE> 到 <CODE>/usr/src/linux</CODE>,然後执行 `<CODE>make modules</CODE>'.这将编译所有你未指定在核心配置里的模组,并将其连结到 <CODE>/usr/src/linux/modules</CODE>.你可以直接由此目录使用,或是执行 `<CODE>make modules_install</CODE>' 将其安装到 <CODE>/lib/modules/x.y.z</CODE>,其中 <CODE>x.y.z</CODE> 是核心版本.<P>这对处理档案系统上特别便利.你可能并不经常使用 minix 或 MS-DOS 的档案系统.例如,如果我遇到一 MS-DOS 的软碟片,我会用 <CODE>insmod /usr/src/linux/modules/msdos.o</CODE>,并在使用完成後用 <CODE>rmmod msdos</CODE> 指令将其去掉.此过程大约可以节省核心 50K 左右的记忆体.对於 minix 档案系统有一点要注意的就是,为了要使用``急救磁片'',你应该<I>总是</I>直接将它配置到核心中.<P><HR><A HREF="Kernel-HOWTO-10.html">Next</A><A HREF="Kernel-HOWTO-8.html">Previous</A><A HREF="Kernel-HOWTO.html#toc9">Contents</A></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -