📄 00000008.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: ruster (尘埃*星辰*领悟), 信区: Linux <BR>标 题: 第四章 系统配置(下) <BR>发信站: BBS 水木清华站 (Thu Dec 21 13:36:35 2000) <BR> <BR> <BR> <BR> <BR> 4.3 定制内核 <BR> <BR> 对于Linux系统管理员来说,定制系统内核是一件相当简单的事情,这主要是因为它提 <BR>供源代码和编译器。困难之处仅仅是必须理解每一个选项是什么。你可以看到我也不能 <BR>完全解释配置内核时的各种选项,一般来说,由于内核配置包含了如此多的东西,你只 <BR>要关心和自己有关的东西就可以了。 <BR> <BR> 4.3.1 配置系统内核 <BR> <BR> 配置内核的命令是满简单的,不过选项实在是太多了,所以我们强烈建议你使用基于 <BR>菜单的配置程序。 <BR> <BR> 要配置内核,首先必须安装内核的源代码,通常可以使用rpm命令,安装的目标位置是 <BR>/usr/src/下面,例如我用2.2.14的内核,源代码就被安装到/usr/src/linux-2.2.14这 <BR>个目录下。如果你是从网络上下载的gz或tgz文件,请将它展开的/usr/src目录下。另外 <BR>,一般建议建立一个名为/usr/src/linux的符号连接: <BR> <BR> ln –s linux-2.2.12 linux <BR> <BR> 然后进入这个目录,内核源代码的目录一般是这样的: <BR> <BR> [openlab]# ls <BR> <BR> COPYING Makefile System.map include lib scripts <BR> <BR> CREDITS README arch init mm vmlinux <BR> <BR> Documentation REPORTING-BUGS drivers ipc modules <BR> <BR> MAINTAINERS Rules.make fs kernel net <BR> <BR> 可以有三种启动配置程序的方法: <BR> <BR> make config启动交互式的命令行配置程序 <BR> <BR> make menuconfig启动文本菜单形式的配置程序 <BR> <BR> make xconfig启动图形界面的配置程序,这个命令必须在X Window下执行,我们将以 <BR>这个命令的界面为例子,其他两种配置的内容是一样的,只是输入方式有所不同。 <BR> <BR> <BR> <BR> 图4.6 配置内核 <BR> <BR> 每个菜单选项被按下后都会出现一个子菜单,给出一些选择项,例如:Code manturi <BR>ty level options会给出下面的选择菜单: <BR> <BR> <BR> <BR> 图4.7 内核配置(2) <BR> <BR> 设置好了一个子菜单之后,按下next可以进入下一个选单,每个选项都可以用help按 <BR>钮取得帮助。对我们而言,下面的一些选择可能是重要的:(注意这里只给出一些主要 <BR>的选择项,其他的你可以自己根据help判断,而且那些选项对服务器通常没有多少影响 <BR>) <BR> <BR> Code manturity level options子选单 <BR> <BR> Prompt for development and/or incomplete code/drivers(y/n) <BR> <BR> 这个选项问你是否有兴趣尝试那些还处在开发测试阶段的内核功能,除非你是Linux的 <BR>测试人员,否则选N,因为这些内核功能还不是十分可靠,对于服务器最好不用。 <BR> <BR> Processor type and features子选单 <BR> <BR> Processor family <BR> <BR> 这个选项问你的处理器类型,可以选择从386到Pentium Pro/MMX(Pentium II)在内的 <BR>任何一种,但是如果你选择了Pentium处理器,编译出的内核将不能在386/486上运行。 <BR>相反,386代码可以在任何可以运行Linux的系统上运行,但是可能无法发挥Pentium II <BR>的全部性能,自己选择合乎自己系统的选项。 <BR> <BR> Math emulation 数学协处理器仿真,选否。 <BR> <BR> Maximum Physical Memory 设置系统可以使用的最大内存量,缺省是1GB,不过如果你 <BR>正好有一台梦幻级x86系统,可能必须将它改成2GB。 <BR> <BR> Symmetric multi-processing support,这个选项用于支持多处理器,如果你有两个 <BR>以上的处理器,选yes,否则选N。 <BR> <BR> Loadable module support子选单 <BR> <BR> Enable loadable module support 是否使用可装载模块,选yes,否则无法使用装载 <BR>模块功能。 <BR> <BR> Kernel module loader 自动装载模块功能,这个功能允许核心在必要时自动装入对应 <BR>的模块,不过这样很容易出错,通常应该禁止。 <BR> <BR> Set version information on all symbols for modules 这个选项通常禁止。 <BR> <BR> General setup子选单 <BR> <BR> Network support 网络支持,选yes <BR> <BR> PCI support PCI设备支持,选yes <BR> <BR> Plug and Play 子选单 <BR> <BR> Plug and Play support 即插即用功能的支持,由于目前Linux的即插即用特性还不是 <BR>很好,通常禁止。 <BR> <BR> Block Devices子选单 <BR> <BR> 这个选单用来设置内核支持的外部存储设备,通常,除了你的服务器上确实存在的设 <BR>备之外,其他的设备都可以选N,如果没有什么把握,也可以使用m选项将其编译为可装 <BR>载模块。当然你启动Linux用的磁盘的驱动程序必须选Y。 <BR> <BR> Network options子选单 <BR> <BR> 大部分的选项都可以选yes,除了下面的一些选项: <BR> <BR> IP:optimize as router not host 这个选项将按照路由器设置调整你的TCP/IP工作模 <BR>式,如果你用Linux作为软件路由器,那么可以选Y,否则选N。 <BR> <BR> IP:tunneling 这个选项允许IP隧道,这对早期的的Netware是很重要的一种TCP/IP实 <BR>现方式,但今天已经不再需要。如果担心由个别的程序使用这个功能,将它编译为模块 <BR>。 <BR> <BR> The IPX protocol 是否支持IPX协议。如果需要支持老式的netware 3.x或4.x文件服 <BR>务,需要打开这个选项,否则禁止。 <BR> <BR> Apple Talk DDP 是否支持AppleTalk,选禁止。 <BR> <BR> TCP syncookie support 这个选项是一个补丁,用于对付“SYN flood”攻击,选yes <BR>。 <BR> <BR> SCSI support 子选单和 SCSI low-level drivers子选单 <BR> <BR> 在这两个选单里选择你使用的SCSI控制器和设备类型,通常启动磁盘的驱动程序必须 <BR>编译进内核(y) <BR> <BR> Network device support 子选单及相关选单 <BR> <BR> 在这几个选单里选择你使用的网络适配器类型。通常我们将它们编译成可装载模块(m <BR>)。 <BR> <BR> Character devices子选单 <BR> <BR> 缺省设置通常就已经很好了,不过有一个选项必须注意,即 <BR> <BR> Maximum number of Unix98 PTYs in use(0-2048)这个选项可以理解为最大的telnet <BR>进程数(包含ssh,rsh,rlogin等),缺省值是256,这对一般系统已经足够,然而也许你 <BR>要开设一个有几百人上站的BBS,在这种情况下,将它提高到2048。 <BR> <BR> Filesystems 子选单 <BR> <BR> 它设置内核中支持的文件系统类型,可以参考第二章的解释。 <BR> <BR> Network File Systems子选单 <BR> <BR> 设置支持的网络文件系统,NFS和SMB文件系统是必须支持的,其他系统可以编译成模 <BR>块。 <BR> <BR> Partition Types 子选单 <BR> <BR> 选择系统支持的分区格式。 <BR> <BR> Native language Support子选单 <BR> <BR> 可以将各种语言的支持程序都编译成模块。 <BR> <BR> kernel hacking 子选单 <BR> <BR> Magic SysRq Key 这个选项允许你通过sysrq(Alt+PrintScreen)来强行控制系统,即 <BR>使在系统崩溃之后。除非你准备调试内核,否则选N。 <BR> <BR> 当全部选项设置完毕后,选择主选单的Save and Exit退回,然后开始编译: <BR> <BR> openlab$ make bzImage <BR> <BR> make bzImage命令将按照你的选择重新编译系统内核源代码并生成核心映像,这需要 <BR>一段时间。注意建立启动映像有两个办法,即make zImage或者make bzImage。其中,m <BR>ake bzImage对核心映像进行压缩,由于服务器用到的核心驱动比较多,通常应该选择m <BR>ake bzImage,否则用make zImage可能发生映像文件太大而无法安装的情况。 <BR> <BR> 下一步是编译模块,使用命令 <BR> <BR> openlab$ make modules <BR> <BR> 将产生对应的内核模块。 <BR> <BR> 4.3.2 使用新内核 <BR> <BR> 编译通过了一个新内核之后,可以用新内核引导系统,这样就可以使用新内核提供的 <BR>功能了。 <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -