![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
[ << ] [ < ] [ 手册主页 ] [ > ] [ >> ] 7. 配置内核内容列表:7.a. 时区 你首先需要选择你的时区,这样你的系统知道起所在位置。在/usr/share/zoneinfo里查看你的时区,然后使用ln做一个符号链接到/etc/localtime:
7.b. 安装源码 选择一个内核 各个发行版的核心部分就是linux内核。这是处于用户程序和系统硬件之间的一层。Gentoo给其用户提供了几个可能的内核源码。你可以在Gentoo内核指南中得到一个全面的有关列表和描述。 对于我们已有的x86架构的系统,在其他内核当中,vanilla-sources(linux内核开发者用作开发的默认内核源码)、gentoo-sources(带很多增强性能补丁的内核源码)、gentoo-dev-sources(带增强性能补丁和改进的2.6版本的内核源码)、xfs-sources(带最新XFS支持的内核源码)、gs-sources(用作服务器的内核源码)、gaming-sources(优化改进游戏性能的内核源码)、development-sources(2.6版本的vanlla内核源码),…… 如果你使用的是对网络依赖很小的安装,你不可以选择所有的上述版本,因为我们只提供其中的一部分。如果是这种情况,你被限制而只能使用gentoo-sources、vanilla-sources、development-sources或gentoo-dev-sources。 选择你的内核源码,并用emerge安装。
当你到/usr/src里看一下,你应该可以看到一个叫做linux/的符号链接指向你的内核源码:
如果不是这样(比如,符号链接指向一个不同的内核源码),在继续之前改变这个符号链接:
现在该到配置和编译你的内核源码的时候了。你可以使用genkernel来做,这个会编译出一个同liveCD相似的通用内核。我们先来解释一下“手动”配置,因为这是优化你的系统环境的最好方法。 如果你要手动配置你的内核,现在我们就可以从默认:手动配置继续。如果你要使用genkernel,那你则应该读读另一个选择:使用genkernel。 7.c. 默认:手动配置 介绍 手动配置内核常常被看作是每个Linux用户最难的一课。然而事实并非如此,配置完几次内核后,你甚至都不记得这麻烦;) 但是,有件事是真的:在手动配置你的内核之前,你必须对你的系统很了解。大部分的信息可以通过查看/proc/pci里的内容收集到(如果可以也可用lspci)。你也可以运行lsmod来看看LiveCD使用的内核模块(这会给你选择启用模块时一个非常好的提示)。 现在,进入你的内核源码所在文件夹,并执行make menuconfig。这会启动一个基于ncurses的配置菜单。
你会看到几个配置选项。首先我们列出一些必须启用的选项(否则Gentoo不会运作,或者在没有其他办法下无法正常的运作)。 激活必须的选项 首先,激活development and experimental code/drivers的使用。你需要这个,否则一些非常重要的代码/驱动无法显示出来:
确认是使用正确的处理器类型编译:
现在,到File Systems里,选择你使用的文件系统的支持。不要将他们编译为模块,否则你的Gentoo系统无法挂载你的分区。另外,也选上Virtual memory、/proc file system、/dev file system和Automatically mount at boot:
如果你使用PPPoE连接到因特网,或者你使用一个拨号的调制解调器,你将需要选中内核中的下面选项:
这两个压缩选项并什么害处,但也不是绝对的需要,选项PPP over Ethernet也是这样的,它可能只会在配置为内核模式的PPPoE时被rp-pppoe用到。 如果你需要它,不要忘了在你的内核中包含对你网卡的支持。 如果你有一个支持多线程的Intel CPU,或者你有一个多CPU系统,你应该启用"Symmetric muti-processing support":
如果你已经配置完内核,从编译和安装继续。 编译和安装 既然你的内核已经配置完了,该到编译和安装它的时候了。退出配置,并运行make dep && make bzImage modules modules_install:
内核编译完成后,将内核的镜像拷贝到/boot:
将你的内核配置文件也拷贝到/boot也是很明智的,以防万一 :)
现在从安装不同的内核模块继续。 7.d. 另一个选择:使用genkernel 如果你正在读这个章节,你已经选择使用我们的genkernel脚本来给你配置内核。 既然你的内核源码树已经安装,可以用我们的genkernel脚本来为你自动编译一个内核。genkernel配置内核就同我们的LiveCD内核的配置几乎一样。这意味着你使用genkernel来编译你的内核,你的系统将会在启动时检测出你所有的硬件,这就同LiveCD一样。因为genkernel不需要任何内核手动配置,这对于一些不大适应编译自己内核的用户来说,是一个绝好的处理办法。 现在,让我们来看看如何使用genkernel。首先,安装genkernel:
现在,运行genkernel all来编译你的内核。这里我们要注意到,因为genkernel编译一个支持几乎所有硬件的内核,编译的完成将会占用很长的时间。 注意到,如果你的boot分区没有使用ext2或者ext3作为文件系统,你需要用genkernel --menuconfig all来手动配置你的内核,并在内核中加上你的文件系统的支持(不要编译为模块)。
一旦genkernel完成,一个模块很全的内核和一个initial root disk(initrd)将会被创建。我们将在文档后面的配置启动程序时使用这个内核和initrd。在写启动程序的配置文件时,就直接写下这个内核和initrd的名字。initrd将会在机器启动后和“真实”系统启动前运行,执行硬件的自动检测(就同LiveCD一样)。
现在,让我们再来执行一个步骤--安装hotplug,使得我们的系统更像LiveCD。当initrd自动检测到系统启动需要的硬件时,hotplug会自动检测到其他所有的东西。安装和启用hotplug,输入以下命令:
7.e. 安装不同的内核模块 安装额外的模块 如果准确的话,你应该给你系统其他的硬件安装ebuilds。这里有一些你可以安装的内核相关的ebuilds:
可能会意识到,其中的一些ebuilds会出现比较大的依赖性问题。为确认安装一个ebuilds需要什么软件包,可以使用emerge --pretend。比如,对于emu10k1软件包:
如果你不喜欢要安装的软件包,使用emerge --pretend --verbose来看看检查依赖性时所用的USE参数:
在前面这个例子中,你可以看到,emu10k1的一个依赖的软件包(aumix)使用了gtk和gnome这两个USE参数,而gtk(依赖于XFree)也得跟着一起编译。 如果你不想所有的这些都被编译,取消所有的USE参数选择,如:
如果你对所得的结果满意,去掉--pretend来开始安装emu10k1。 配置模块 你应该在/etc/modules.autoload.d/kernel-2.4(或者kernel-2.6)中列出你要自动加载的模块。如果你需要,也可以给这些模块添加额外的选项。 查看所有已有的模块,可以运行下面的find命令。不要忘了将"<kernel version>"换成你刚编译的内核的版本:
比如,为自动加载3c59x.o模块,编辑kernel-2.4或者kernel-2.6文件,并输入模块的名字。
现在运行modules-update来提交对/etc/modules.conf文件的修改:
从配置你的系统继续安装。 [ << ] [ < ] [ 手册主页 ] [ > ] [ >> ] 本文档内容按照Creative Commons - Attribution / Share Alike协议发布。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2004 Gentoo.LinuxSir.ORG 如果有什么问题、建议、意见、评论,请Email联系管理员 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||