[ << ]
[ < ]
[ 主页 ]
[ > ]
[ >> ]
7. 配置内核
内容:
7.a. 时区
您首先需要选择您自己的时区,这样可以让系统知道它的位置在哪里。您可以在/usr/share/zoneinfo中找到您所在的时区,然后把它复制到/etc/localtime。请不要使用/usr/share/zoneinfo/Etc/GMT*下的时区,因为它们“名不副实”。例如,GMT-8事实上是GMT+8区。
代码 1.1: 设置时区信息 |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. 安装源码
选择内核
Linux内核是所有发行版的核心。它位于用户程序和系统硬件之间。Gentoo提供给我们几个可选的内核源码。完整的清单参见Gentoo内核指南。
对于PPC64你应该使用gentoo-sources。
代码 2.1: 安装内核源码 |
# emerge gentoo-sources
|
当您查看/usr/src时,您将会看到一个叫做linux的符号链接指向您安装的内核源码。在我们这个例子中,安装的源码指向gentoo-sources-2.6.19-r7。你的版本可能会不同,所以请记住这点。
代码 2.2: 查看内核源码符号链接 |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Aug 10 11:04 /usr/src/linux -> linux-2.6.19-r7
|
现在,我们开始配置和编译您的内核。您可以用“genkernel”来做这件事。这将会建立一个和安装光盘所用的内核类似的通用内核。不过目前PPC64并不能完全工作正常。
现在请继续阅读手动配置你的系统。
7.c. 手动配置
介绍
手动配置内核经常被Linux使用者认为是最困难的步骤。事实并非如此——当您手动配置几次内核之后,您就不会再觉得它有多么难了:)
然而,一件事情是真的:在手动配置内核之前,您必须了解您的系统。您可以安装pciutils(emerge pciutils),用其中的lspci来了解您需要的大部分信息。您现在可以在chroot的环境中运行lspci。您可以忽略任何pcilib的警告。(类似于pcilib: cannot open/sys/bus/pci/devices)。此外,您也可以在非chroot的环境执行lspci。结果相同。您还可以运行lsmod来查看安装光盘使用了哪些内核模块。(这也是个不错的提示,它可以教你该选择哪些模块)。
代码 3.1: 调用menuconfig |
# cd /usr/src/linux
# make menuconfig
|
您将会看到一些配置条目。首先我们将会列出一些您必须启用的选项(否则Gentoo将根本不能运行或者在未经调试的情况下不能正常运行)。
启用必须的选项
首先,开启development and experimental code/drivers。您必须激活它,否则,您将无法看到一些非常重要的代码/驱动:
代码 3.2: 选择experimental code/drivers |
General setup --->
[*] Prompt for development and/or incomplete code/drivers
|
现在转到File Systems,选中你使用的文件系统的支持。不要将它们编译成模块,否则Gentoo将无法正常地挂载你的分区。另外选中/proc file system和Virtual memory以及/dev/pts file system for Unix98 PTYs:
代码 3.3: 选中必需的文件系统 |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev/pts file system for Unix98 PTYs
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
注意:
你会发现在Pseduo filesystems中提及的选项只不过是File systems中一部分。
|
如果您在使用PPPoE接入Internet或者您在使用拨号的调制解调器,您需要下面内核中的选项(你会发现在Networking support中提到的选项只是Device Drivers中的一部分:
代码 3.4: 选中PPPoE需要的驱动 |
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
两个压缩选项不会造成什么错误,不过它们不是必需的。PPP over Ethernet选项也不是必需的,只在使用ppp并被配置成是使用核心模式PPPoE时才会用到它。
如果您需要它,请不要忘记在内核中包含对您的网卡的支持。
禁掉ADB raw keycodes:
代码 3.5: 禁掉ADB raw keycodes |
Macintosh Device Drivers --->
[ ] Support for ADB raw keycodes
|
当你配置好你的内核后,请继续阅读编译和安装。
编译和安装
现在你的内核已配置好,是时候来编译和安装它了。退出配置菜单,然后运行编译内核的命令:
代码 3.6: 编译内核 |
# make && make modules_install
|
当你的内核编译完成之后,复制内核镜像至/boot目录。记住用你实际的内核版本替换<kernel-version>:
代码 3.7: 安装内核 |
# cp vmlinux /boot/<kernel-version>
|
现在请继续阅读配置内核模块。
7.d. 配置模块
你应该将你想在启动时加载的模块列在/etc/modules.autoload.d/kernel-2.6中。如果你需要你也能为你的模块加上额外的选项。
要查看所有可用的模块,运行如下的find命令。不要忘记把“<kernel version>”替换成你刚编译好的内核版本:
代码 4.1: 查看所有可用的模块 |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
|
比如,要自动加载3c59x.ko模块,编辑文件kernel-2.6并在其中输入模块名。
代码 4.2: 编辑/etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
代码 4.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x.ko
|
请阅读配置你的系统来继续安装。
[ << ]
[ < ]
[ 主页 ]
[ > ]
[ >> ]
本文档的内容遵循知识共享-署名-相同方式共享许可协议
|