声明: 本手册已经被新版本代替了,不再被维护。 |
您首先需要选择您自己的时区,这样可以让系统知道它的位置在哪里。您可以在/usr/share/zoneinfo中找到您所在的时区,然后把它复制到/etc/localtime。请不要使用/usr/share/zoneinfo/Etc/GMT*下的时区,因为它们“名不副实”。例如,GMT-8事实上是GMT+8区。
代码 1.1: 设置时区信息 |
# ls /usr/share/zoneinfo (假设您要用GMT) # cp /usr/share/zoneinfo/GMT /etc/localtime |
Linux内核是所有发行版的核心。它位于用户程序和系统硬件之间。Gentoo提供给我们几个可选的内核源码。完整的清单参见Gentoo内核指南。
对于PPC64你应该使用gentoo-sources。
代码 2.1: 安装内核源码 |
# emerge gentoo-sources
|
当您查看/usr/src时,您将会看到一个叫做linux的符号链接指向您安装的内核源码。在我们这个例子中,安装的源码指向gentoo-sources-2.6.24-r5。你的版本可能会不同,所以请记住这点。
代码 2.2: 查看内核源码符号链接 |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Aug 10 11:04 /usr/src/linux -> linux-2.6.24-r5
|
现在,我们开始配置和编译您的内核。您可以用“genkernel”来做这件事。这将会建立一个和安装光盘所用的内核类似的通用内核。不过目前PPC64并不能完全工作正常。
现在请继续阅读手动配置你的系统。
手动配置内核经常被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 重要事项:如果你使用32位userland,你必须修改在/usr/src/linux中的顶层Makefile文件 然后改变CROSS_COMPILE选项为CROSS_COMPILE ?= powerpc64-unknown-linux-gnu-。 你必须在运行make menuconfig之前做这个,否则可能导致内核编译时出问题。 # make menuconfig |
您将会看到一些配置条目。首先我们将会列出一些您必须启用的选项(否则Gentoo将根本不能运行或者在未经调试的情况下不能正常运行)。
首先进入File Systems,选中你使用的文件系统的支持。不要将它们编译成模块,否则Gentoo将无法正常地挂载你的分区。另外选中/proc file system和Virtual memory以及/dev/pts file system for Unix98 PTYs:
代码 3.2: 选中必需的文件系统 |
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.3: 选中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时才会用到它。
如果您需要它,请不要忘记在内核中包含对您的网卡的支持。
当你配置好你的内核后,请继续阅读编译和安装。
现在你的内核已配置好,是时候来编译和安装它了。退出配置菜单,然后运行编译内核的命令:
代码 3.4: 编译内核 |
# make && make modules_install
|
当你的内核编译完成之后,复制内核镜像至/boot目录。记住用你实际的内核版本替换<kernel-version>:
代码 3.5: 安装内核 |
# cp vmlinux /boot/<kernel-version>
|
现在请继续阅读配置内核模块。
你应该将你想在启动时加载的模块列在/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 |
请阅读配置你的系统来继续安装。
本文档的内容遵循知识共享-署名-相同方式共享许可协议