QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11038|回复: 4

Gentoo Linux 安装手册

[复制链接]
发表于 2002-11-19 01:17:17 | 显示全部楼层 |阅读模式
atfa:这是我很久以前搞到的,原文出自Shanghai LUG BBS,译者joe。表示深深的崇敬和感谢。

1. 关于安装

由Gentoo.org提供的安装启动光盘几乎可以从目前绝大多数主流的IDE接口CD-ROM驱动器启动,当然也包

括主流的
SCSI接口CD-ROM光盘驱动器。光盘中的Linux已经在内核中以Built-in方式包含了对IDE设备的支持,同时

,也以Modules
方式包含了对SCSI设备的支持。此外,我们还以Module的方式提供绝大多数主流网卡的支持,以及相关的

网卡/网络配置
工具,用来在安装及安装后提供建立对外SSH连接,下载文件.

从光盘安装Gentoo Linux,你需要准备一台配备486以上CPU,至少64MB内存的计算机.(Gentoo Linux在

64MB内存,64MB交换分区
的计算机上成功的安装过,但是在那种条件下,整个安装过程是相当的缓慢的)。要开始安装流程,首先

,你需要
从http://www.ibiblio.org/gentoo/releases/build/下载 ISO 光盘映像文件。目前我们提供两种光盘映

像文件。
第一个是gentoo-ix86-1.1a.iso;这个光盘ISO映像文件相当小(只有16MB),包含了最小的可chroot的安

装映像文件
(stage1-ix86-1.1a.tbz2) --此文件包含了任何你需要以裸方式构建一套Gentoo Linux系统的所有系统(

相关的代码会
直接从Internet上根据需要下载.)我们第二个光盘ISO映像是gentoo-i686-1.1a.iso;这个光盘ISO 映像文

件比较大(大约在100MB左右)
此光盘映像文件包含了和第一个16MB ISO映像文件一样的内容,同时还加上了一个预先编译好的i686基本

系统(stage2-i686-1.1a.tbz2)
和一个不完全预构建的i686基本系统(stage2-i686-1.1a.tbz2),这三个文件可以帮助我们加速安装过程,

前提是如果
你不考虑以裸方式自己编译所有的东西。

现在,让我们很快的回顾一下整个安装过程。我们首先会创建分区,建立我们需要的文件系统,然后

将stage1或者stage2
或者stage3 三个文件包从光盘映像中解开。 如果我们使用的是stage1或stage2文件包,我们将会通过实

施特定的步骤
来实现类似直接用stage3这个文件包所获得的效果。一旦我们的系统在Stage3这个文件包所处的安装阶段

,我们就可以完整的
配置系统(调整配置文件,安装系统bootloader等等)并且引导起整个系统从而得到一个完整功能的Gentoo

Linux. 依据你从不同的软件包
开始你的的安装工作,这里是三个不同安装过程所需要实施的内容:
____________________________________________________________________________________________

____________________________
stage 包(tarball) 安装需要
1 分区/创建文件系统,emerge rsync,bootstrap,emerge system,emerge linux

sources,final configuration
2 分区/创建文件系统,emerge rsync, emerge system, emerge linux sources,

final configuration
3 分区/创建文件系统,emerge rsync (可选), final configuration
____________________________________________________________________________________________

_____________________________

译者注icon_sad.gif如果你准备安装Gentoo Linux的计算机与Internet直接宽带连接,你可以下载第一个 16MB的ISO

映像文件(此文件只包含stage1软
件包),以后的emerge rsync,bootstrap,emerge system,emerge linux sources等都需要直接连接

到Gentoo RSYNC Server上按照需要下载
源代码然后实时编译安装,当然也可以直接下 第二个ISO 光盘映像,这样你就有

了stage1,stage2,stage3 三个软件包,整个安装过程就
不需要连接到internet夏在大量源代码了,第二种方法适合没有高速直接宽带连接的的用户)

2. 引导

一旦你选择好了你想要使用的CD,接下来就开始用CD引导计算机。顺利引导后,你将会看到很多字符形式

的问候语,最后你会看到一个 boot:
的提示符出现在屏幕上。在这个提示符下,按回车键,Linux就开始从光盘上引导了。

接着,你将会看到一个从引导光盘上给出的短小的命令清单,告诉你在安装过程中可以用到的linux命令

工具,其中包括 nano(一个类似pico
的文本编辑器),你还可以看到一些设置网络参数的说明。接着,你将会提示选择符合你需要的Keymap,接

着是PCI自动检测。PCI自动检测
流程会自动的依据检测到的PCI SCSI设备和网络设备,从系统中加载对应的驱动程序支持模块。这些都结

束后,你可以按回车键进入一个
最小的引导光盘上的Linux环境。此时你会在控制台上得到root用户角色的提示符("#")。你可以

按alt-f2,alt-f3等打开多个独立的控制台.

3. 加载核心模块

我们几乎可以马上开始安装Gentoo Linux,但是首先,我们需要手工执行一些必要的步骤使得核心识别出

在PCI自动检测中没有检测出来我
们的网卡,以及可选的SCSI硬件等. 输入 ls /lib/modules/*/kernel/drivers/net/*就可以看到所有有

效的的网卡核心模块清单。如果
要加载你需要的核心模块,输入:
_________________________________________________________________
Code listing 1
# modprobe pcnet32
(用你自己的网卡模块名称替换掉上面这个例子中的pcnet32模块)
_________________________________________________________________

现在,如果你希望能够访问任何在PCI自动检测过程中没有检测出来的SCSI硬件,你需要从/lib/modules

加载对应的核心驱动模块,
使用 modprobe;

________________________________________________________________
Code listing 2
# modprobe aic7xxx
# modprobe sr_mod
# modprobe sd_mod
________________________________________________________________

上面的例子中,我们检测 aci7xxxx SCSI驱动程序并且通过modprobe将SCSI 光盘驱动器加载上(sr_mod)

,将SCSI硬盘模块(sd_mod)加载上

____________________________________________________________________________________________

__________________________
注意: hdparm这个工具在 -r10和以后的ISO版本中都包括了,如果你的磁盘驱动器需要调整,呢么在这个

阶段是就是最理想的做调整工作
的时候了
____________________________________________________________________________________________

___________________________

4. 加载 PCMCIA 核心驱动模块
如果你用笔记本或者有一块 PCMCIA网卡,呢么你需要额外做下面的这些工作:

______________________________________________________________________
Code listing 3

# insmod pcmcia_core
# insmod i82365
# insmod ds
# cardmgr -f
______________________________________________________________________

由于采取上述操作后,你的cardmgr就会监测到硬件已经就绪了,你的计算机扬声器中会传来短促的Beep

声音,这表明你的PCMCIA网卡
可以开始工作了。当然你也可以在加载cardmgr之后插入PCMCIA卡,(从技术角度来看,如果你很清楚你

的PCMCIA卡所需要的核心模块,
你就不需要运行cardmgr,但是你如果不知道的话,加载所有的PCMCIA模块然后看看哪些没有正常工作,

所有的PCMCIA模块在加载后
如果没有对应的PCMCIA卡插入计算机,呢么cardmgr会自动的卸载这些模块,当你人为拔出卡设备

时,cardmgr也会卸载对应的驱动模块.


5. 配置安装过程中需要用到的网络资源

新的 -r11以及以上的引导光盘允许你配置一个工作网络,甚至允许你在安装过程开始之前使用ssh,scp或

者wget工具。即使你现在不需要
用到这些工具,现在你也完好的配置好你的网络环境。一旦配置完成且你进入chroot环境(安装Gentoo

Linux需要做的必须步骤),
Portage就可以利用你配置好的网络环境来工作了.

DHCP

DHCP网络配置是相当简单的;如果你的ISP不是使用DHCP,呢么就跳过这个段落到下面的静态配置栏目。
_____________________________________________________________
Code listing 4: Network configuration with DHCP

# dhcpcd eth0
_____________________________________________________________
______________________________________________________________________________________
注意:一些ISP需要你提供hostname,为了做到这点,在上面的命令中添加 -h myhostname 标志位
______________________________________________________________________________________


静态配置

我们需要设置足够的网络参数这样在系统构建的时候我们就可以从internet下载需要的源代码。我们也需

要配置localhost interface.
输入下面的命令,将 $IFACE用你真实的网卡名字替换掉(标准的是eth0), $IPNUM用你的真实的IP地址替

换掉,$BCAST用你的广播Broadcast
地址替换掉,$NMASK用你的网络真实的子网掩码替换掉。运行route 命令的时候,将$GTWAY用你真实的缺

省网关地址替换掉。
_________________________________________________
Code listing 5

# /sbin/ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK
# /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1
__________________________________________________________

现在,做完上面这些后,我们还要创建 /etc/resolv.conf.实现名字的解析工作.

___________________________
注意:在安装的过程中,缺省得文本编辑器是 nano, 一个小巧的易于使
用的可视编辑器,使用nano加上-w开关可以关闭自动回车换行的功能)
____________________________

下面是一个创建 /etc/resolv.conf 文件的样本
___________________________________
Code listing 6: /etc/resolv.conf template

domain mydomain.com
nameserver 10.0.0.1
nameserver 10.0.0.2
___________________________________

将10.0.0.1和10.0.0.2用你的主NDS和辅DNSIP地址替换掉.

网络测试

现在你的网络已经配置完成了, 使用 /sbin/ifconfig -a 命令将会显示你目前运行着的网卡.
________________________________________
Code listing 7: /sbin/ifconfig for a working network card

eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
collisions:1984 txqueuelen:100
RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb)
Interrupt:11
_________________________________________

网络开始运行了 !!

现在你的网络环境应该可以正常工作了,你可以使用ssh, scp和wget命令来连接到你的LAN上的计算机或

者Internet上的计算机了.

6. 创建分区

现在Linux内核可以看到我们的网卡和磁盘控制器了,现在是对磁盘进行分区的时候了.

这里是一个快速的回顾标准的Gentoo Linux分区布局方式。我们准备至少创建三个分区:一个swap交换区

,一个root 根文件区,一个boot
引导区域. boot引导区被设计成存放 GRUB引导控制系统还有linux核心文件。boot引导分区提供我们一个

安全的区域来存放任何和引导Linux
有关的文件。在以后日复一日的Gentoo Linux使用中,你的boot引导区应该保持 unmounted 非加载状态.

这样就可以使得你的Linux核心和
GRUB 引导程序在系统意外崩溃所造成的文件系统破坏中幸免于难。从而避免你的系统处于"鸡和鸡蛋"的

矛盾中去。(GRUB引导程序因为文件
系统损坏找不到你的Linux内核文件而你因此又进入不了系统来修正你的文件系统).

现在,讨论文件系统的类型。 你现在有四种选择:XFS,ext2,ext3(日志)和ReiserFS. ext2是传统

的Linux文件系统,但是没有对元数据的
日志功能。ext3是ext2的新版本,包含了对元数据日志和顺序数据的写操作,同时也提供了非常有效率数

据日志功能。 ReiserFS是基于B*
树的文件系统,号称对于存取小文件具有非常好的性能,在处理小于4k的小文件上,在性能上要超过ext2

和ext3文件系统。然而,我们不
建议采用ReiserFS,因为在2.4.x系列的Linux内核中包含的ReiserFS不断被曝光已经造成了很多起文件系

统破坏的事例。ReiserFS包含对
元数据的日志服务,但是没有提供对数据的日志服务。 XFS是一种高性能的企业级的文件系统,提供了在

Gentoo Linux下完整支持的元数
据日至功能。

如果你要寻找最标准的文件系统,呢么就采用ext2.如果你要寻找最新的文件系统,使用ext3,如果你要寻

找一种高性能的日志文件系统,
使用XFS;ext3和XFS都可以算是比较成熟的。 除了ReiserFS之外的所有提到的文件系统都可以在生产环境

中使用。这里是我们一些基本的
创建文件系统大小和类型的建议:

_________________________________________________
Partition Size Type example device
boot partition, containing kernel(s) and boot information 100 Megabytes ext2/3 highly

recommended (easiest); if ReiserFS then mount with -o notail /dev/hda1
swap partition (no longer a 128 Megabyte limit) >=2*Amount of RAM in this system is

recommended but no longer (as of kernel 2.4.10) required Linux swap /dev/hda2
root partition, containing main filesystem (/usr, /home, etc) >=1.5 Gigabytes XFS, ext3

recommended; ext2 ok /dev/hda3
_____________________________________________________

___________________________
注意:在这里你要是用fdisk来创建分区,注意你的swap分区类型应该是 082,你的其他文件系统类型应

该是0x83(包括XFS,ReiserFS和ext2)
___________________________

一旦你用fdisk创建了你的文件分区,现在就是初始化这些文件分区以便我们存放数据的时候了。
初始化swap交换分区的命令如下:
____________________________-
Code listing 8

# mkswap /dev/hda2
_____________________________

你可以使用 mke2fs命令来创建ext2文件系统:
_________________________________
Code listing 9

# mke2fs /dev/hda1
_________________________________

要建立一个XFS文件系统,可以使用 mkfs.xfs命令

___________________________________
Code listing 10

# mkfs.xfs /dev/hda3
____________________________________

___________________________
注意:你也许想要在运行mkfs.xfs命令的时候添加其他命令标志:-d agcount=3 -l size=32m. "-d

agcount=3"的标志将会降低
分配组的数量。XFS坚持采用每4GB分区至少设置一个分配组,因此,比如如果你有20GB的分区,你将最少

需要6个agcount.
"-l size=32m"的标志将会将日志存储部分的大小提高到32MB,这样将会提高性能。
____________________________

____________________________
警告:如果你在原来的ReiserFS分区上覆盖安装一个XFS分区,最后加载分区的时候如果不采用 mount -t

xfs 命令就会操作失败,
解决方法是在创建新的XFS分区之前将原有的分区文件系统规零:dd if=/dev/zero of=/dev/hdx bs=1k.
___________________________________________________________________________________________



如果你要是用ext3文件系统,你可以用 mke2fs -j 来创建:

_______________________________________________
Code listing 11

# mke2fs -j /dev/hda3
__________________________________________

如果要创建 ReiserFS文件系统,可以用mkreiserfs命令
________________________________________________
Code listing 12

# mkreiserfs /dev/hda3
______________________________________________

_______________________________________________
警告:我们再次建议在ReiserFS改进之前,此时不宜采用ReiserFS文件系统. 2.4.x系列的Linux 内核所

包含的ReiserFS造成了很多文件系统破坏的事例
_______________________________________________



7. 加载分区
现在我们需要激活新的swap交换分区,因为我们在后面的过程中需要用到额外的虚拟内存。

_____________________________
Code listing 13

# swapon /dev/hda2
___________________________

接下来,我们将要创建 /mnt/gentoo和 /mnt/gentoo/boot 分区加载点,然后我们会将创建好的分区加载

到这些加载点上去.

_______________________________
Code listing 14

# mkdir /mnt/gentoo
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot
________________________

如果你安装Gentoo Linux的时候还需要独立的 /usr 或者 /var 目录,呢么你就需要将独立创建的这些分

区按照上面的方法加载到
/mnt/gentoo/usr 和/mnt/gentoo/var上

________________________________
重要: 如果你的引导分区(用来存放Linux核心的分区)是ReiserFS,你要确信在GRUB正确安装

后,在/etc/fstab boot分区的那一行最后
加上 -o notail的参数.
______________________________________


8. 加载 光盘
虽然我们是从光盘引导安装的,但是光盘本身在我们最小的linux引导CD环境下不是自动mount加载的.我

们需要将光盘加载上去,从而
可以从光盘中将tarball软件包解开到硬盘上。 要加载CD-ROM,标准的做法如下:

___________________________________
Code listing 15

# mount /dev/cdroms/cdrom0 /mnt/cdrom -o ro -t iso9660
____________________________

CD-ROM加载后,你就可以用ls /mnt/cdrom 看到CD-ROM上的 stage???.tbz2文件

9. 解包stage软件包

现在可以将压缩打包的stage 软件包解开到 /mnt/gentoo中去了。 在解包之前,我们要做chroot的操作

_________________________________________________
重要:解包的时候,在 tar命令后一定要加上 p 选项,不加的话将会导致某些文件的访问权限不正确
__________________________________________________-

重要:如果你准备 采用"裸方式,编译所有文件"的安装方法,你将会用到stage1-ix86-1.1a.tbz2 映像文

件。如果你使用我们的较大的
那个光盘ISO映像,你将可以选择采用 stage2和stage3的映像文件。这两个映像文件可以使你节省配置的

时间(我们已经为你选择了编译
器优化选项和缺省USE变量). stage3映像文件包括了完整的Linux源代码和一套Portage树快照,避免接下

来 emerge rsync 的操作。

_______________________
Code listing 16

# cd /mnt/gentoo
# tar -xvjpf /mnt/cdrom/stage?-*.tbz2
# mount -o bind /proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
_____________________

___________________________
Code listing 17

# chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache...
# source /etc/profile
#
________________________

在你执行完上面的命令后,你就进入了你的新的Gentoo Linux环境了.


10. Rsync

现在你需要执行 emerge rsync 命令。如果你正在使用 Gentoo Linux 1.1+ stage3的映像文件,呢

么emerge rsync 就可以作为可选的
操作,因为我们已经在stage3的映像文件中包含了一套Portage的移植树,为你的安装提供方便。 emerge

rsync 命令会告诉emerge 连接
rsync.gentoo.org服务器并且下载我们最新的Portage 移植树.

_________________________
Code listing 18

# emerge rsync
__________________________

Portage树将会下载,大小在 10MB左右

_________________________________
重要: rsync 服务器的地址目前是 rsync://rsync.gentoo.org/gentoo-portage.如果你访问Gentoo

rsync有问题,确信你在
/etc/make.conf中的 SYNC变量的值是正确的.
____________________________________

__________________________________
注意:如果你在一个防火墙后面,通过rsync 命令可以配置来使用一个HTTP代理,在/etc/make.conf中的

RSYNC_PROXY="hostname:port"
中设置对应的环境变量。
__________________________________



11. 从stage1软件包到stage2软件包的工作

____________________________________________________________
重要: 如果你采用的是stage2或者stage3 软件包,呢么我们就已经有一个现存的系统了。你就不需要再

做bootstrap的操作了,除非你
决定要做一次emerge rsync 并且要确信你已经有一个和Gentoo Server同步更新精确到分钟的Gentoo

Linux系统。大多数使用stage2和
stage3软件包的人不会准备再做一次bootstrap操作,因为即便是在一台很快的计算机上,bootstrap操作

也要花费好几个小时的时间。
_____________________________________________________________

昨晚上面的emerge rsync操作后,你就有了一个可以投入工作的Portage 树,使用stage1软件包来安

装Gentoo Linux的用户需要至少做
一次bootstrap操作。 首先编辑 /etc/make.conf文件,在这个文件中,你可以设置你的USE标志来达到特

殊的功能;通常的缺省的(
缺省情况下USE的值是空的)USE值就可以完成大部分的工作了。你也需要根据具体的情况 设置make.conf

文件中的 CHOST,CFLAGS和CXXFLAGS
变量值。如果必要的话,你可以设置代理服务器Proxy Server信息(假如你在一个防火墙的后面)

__________________________
Code listing 19

# nano -w /etc/make.conf (根据你的情况调节相应的标志和变量值)
_________________________


_________________________
注意:如果你要充分的调整整个安装过程,你就有必要看一下/etc/make.globals文件。这个文件包含

了Gentoo系统的缺省参数,你不可以
直接修改这个文件,如果缺省的参数不能满足你的安装需要,你可以在/etc/make.conf文件中设置新的变

量值,make.conf中的配置会跨越
make.globals文件中的设置。如果你对调整USE变量感兴趣,看一下/etc/make.profile/make.defaults文

件。如果你要关闭所有的USE设置
,在/etc/make.conf文件中加入 USE="-foo" (这个设置的意思就是在USE设置中,将名字是foo的设置禁

止掉,foo是某个功能或者packge的名字,
比如kde, gnome等)
_________________________

现在可以开始启动 "bootstrap"操作了。 这个操作过程会持续1-2个小时,具体消耗的时间取决于你计算

机的处理能力;在我的
AMD Athlon 900Mhz的机器上大概用了1-2个小时。在这个过程中,揭开的映像安装文件将会被编译安装,

从而完成剩下的系统安装工作。
GNU 编译器也将会被首先编译,包括GNU C Library. 在bootstrap过程中,将会进行大批的程序编译工作

,消耗大量的时间。

_________________________
Code listing 20

# cd /usr/portage
# scripts/bootstrap.sh
____________________________
bootstrap 操作就开始了....


_________
注意:Portage 缺省会使用 /var/tmp做为安装系统的临时目录。在编译安装过程中,大约会用到上百MB

的临时存储空间。如果你想要
改变缺省得Portage 临时文件存放目录,可以在开始bootstrap操作之前,设置环境变量

PORTAGE_TMPDIR.如下:

_____________________
Code listing 21

# export PORTAGE_TMPDIR="/otherdir/tmp"
________________________________


bootstrap.sh 脚本将会建立 binutils,gcc,getext和glibc系统,并且在glibc创建好后,会重

建binutils,gcc和getext。不需要解释,
这个操作将会运行好一会儿。你可以打个小瞌睡。一旦操作完成,你的系统就进入相当于直接用stage2软

件包的状态了。

12. 从stage2软件包到stage3软件包的工作

一旦你的映像文件被bootstrap操作编译处理完成,你就到达了相当于直接用stage2软件包的状态了(如果

你准备接下来直接用stage3
软件包,呢么下面的工作就可以省略了). 现在是完成构建剩余基本系统的时候了, 如下操作:

____________________________________
Code listing 22

# export CONFIG_PROTECT=""
# emerge --pretend system
[将会列出要安装的软件包]
# emerge system
______________________________________

__________
注意:export CONFIG_PROTECT=""这行命令确保了任何新的脚本安装到/etc目录下去后将会覆盖老的脚

本文件(存储在 sys-apps/baselayout)
如果要调整Portage新配置文件,可以用emerge --help config 莱得到详细的帮助信息
______________________________________

接下来会有一段时间,系统会构建完成整个基本系统。你从漫长的安装过程中得到的回报就是得到了一

个高度优化和定制的系统。
对你来说不好的就是你需要自己解决在长时间安装过程中的等待问题。作者建议你在此期间玩玩PS2上的

星球大战游戏。
当emerge system完成后,你就得到了一个类似直接使用stage3软件包所达到的状态的Gentoo Linux系统




13. 最后的步骤: 设置时区

到这时候,你已经得到了一个stage3系统。我们开始设置系统时区。
看一下你的本地时区(或者是GMT时区), 所在控制文件在 /usr/share/zoneinfo。 接着创建一个符号连

接,操作如下:

___________________________
Code listing 23

# ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime
______________________________

14. 最后的步骤:内核和系统日志记录系统

如果你正从Gentoo Linux 1.1+ stage3软件包安装系统,我们已经将最新的Linux核心源代码包括在系统

里了 /usr/src/linux.
否则你需要自己从Gentoo Server上获得Linux核心代码。 我们提供下列几种核心源代码:

____________________________________
ebuild description
gentoo-sources 我们提供的在-ac上作了性能和功能增强的源代码 (不包含缺省的XFS支持,需要人工选择

上)
xfs-sources SGI XFS CVS Linux 源代码树的一份快照;当你使用XFS文件系统的时候可以采用这个核心
openmosix-sources A stock Linux kernel source tree patched with support for the GPL

openMosix load-balancing/clustering technology
usermode-sources A stock Linux kernel source tree patched with support for User-Mode Linux.

("Linux inside Linux" technology)
vanilla-sources 标准的Linux核心代码,就像你直接从kernel.org 获得一样
______________________________________

选择上面一种,然后接着操作:

______________________________________
Code listing 24

# emerge sys-kernel/gentoo-sources
_______________________________________

一旦你得到了所需要的核心,接下来就要开始编译你自己的核心了:

_____________________________
Code listing 25

# cd /usr/src/linux
# make menuconfig
# make dep && make clean bzImage modules modules_install
# mv /boot/bzImage /boot/bzImage.orig [如果 bzImage 已经存在]
# cp /usr/src/linux/arch/i386/boot/bzImage /boot
_________________________________________________________________

————————————————————————————
警告:为了让你的核心工作正常,下面有几点是你在配置核心的时候一定要确认做到的---那就是,下面

这些选项必须在内核配置过程
中激活并且不可以编译成模块方式。你需要激活"Code maturity level options --> Prompt for

development and/or incomplete code/drivers"
在File systems部分,你要确信激活"Device File System"(注意你不需要激活 "/dev/pts file system

support "选项).
你还要激活"Virtual Memory Filesystem"选项。如果你用到ReiserFS或者ext3,XFS文件系统,你还要激

活ReiserFS选项.保证ext2的选项
是继获得。大多数IDE硬盘的用户还要激活"USE DMA by default"选项,否则你的IDE硬盘工作时候性能就

会比较差。当然要记得激活"IDE Disk"
选项,否则你的核心江看不到你的IDE 硬盘。
______________________________


你的定制核心和模块现在都编译并且安装好了。现在你需要选择一个系统日志记录系统。我们提供

了sysklogd,这是一个传统的系统日志
记录守护进程。我们也提供了syslog-ng和metalog两个系统。如果你搞不清楚,你也许可以使用metalog,

因为这个系统相当的流行。
要整合你的日志系统,操作如下:

____________________________
Code listing 26

# emerge sys-apps/sysklogd
# rc-update add sysklogd default
或者
# emerge app-admin/syslog-ng
# rc-update add syslog-ng default
或者
# emerge app-admin/metalog
# rc-update add metalog default
___________________________________

_________________________
警告:如果你选择了syslog-ng,你需要在安装后创建/etc/syslog-ng/syslog-ng.conf文件,你可以看一

下 /etc/syslog-ng的样本配置。
___________________________

现在你可以选择一个cron 软件包。 我们提供dcron,fcron和vcron.如果你不知道选哪一个,你可以下

载vcron.操作如下:

_____________________________
Code listing 27

# emerge sys-apps/dcron
# crontab /etc/crontab
或者
# emerge sys-apps/fcron
# crontab /etc/crontab
或者
# emerge sys-apps/vcron
——————————————————————————————

15. 最后的步骤:安装额外的软件包

你也许需要安装额外的软件包,比如XFS或者 旅。如果你选择使用XFS,你需要emerge xfsprogs软件包:

___________________________________
Code listing 28

# emerge sys-apps/xfsprogs
_____________________________________

如果你使用LVM,你需要emerge lvm-user软件包:

____________________
Code listing 29

# emerge --usepkg sys-apps/lvm-user
_____________________________________


16. 最后的步骤:编辑/etc/fstab

你的Gentoo Linux系统现在几乎可以使用了。我们现在所要必须要做的就是配置几个重要的系统文件和安

装GRUB系统引导程序。
第一个文件我们需要配置的是/etc/fstab.记住如果你的启动boot分区是ReiserFS文件系统,你需要

在/etc/fstab种对应的地方加上 notail
选项。记住在配置文件中指明 ext2 ext3 reiserfs文件系统类型.

/etc/fstab文件内容如下,但是要记住将 "BOOT","ROOT",和"SWAP" 三个地方换成你正在使用的真实的块

设备(比如hda1等).

_________________________________________________
Code listing 30


# /etc/fstab: static file system information.
#
# noatime turns of atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail and tail freely.

# <fs> <mountpoint> <type> <opts> <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/BOOT /boot ext2 noauto,noatime 1 2
/dev/ROOT / ext3 noatime 0 1
/dev/SWAP none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
____________________________________________________________________

最后步骤:设置root 密码

在你忘记做这个事情之前,设置root的密码:

____________________
Code listing 31

# passwd
______________________

最后的步骤:设置/etc/hostname
编辑这个文件,将你的全规域名写在单独一行上。比如 mymachine.mydomain.com.

最后的步骤:设置/etc/hosts
这个文件包含了一个ip地址和对应的主机名的清单.可以用来解析在你的nameserver不存在的任何主机。

下面是一个模板:

_____________________
Code listing 32

127.0.0.1 localhost
# the next line contains your IP for your local LAN, and your associated machine name
192.168.1.1 mymachine.mydomain.com mymachine
____________________________________________________________________

最后的步骤:网络配置

要使得你的系统正常工作,在/etc/modules.autoload文件中添加对应的模块式相当重要的保

证。当Gentoo Linux启动的时候,这些模块
将会自动加载。特别是你的网卡模块(如果你把网卡编译成模块方式了)

_____________________
Code listing 33: /etc/modules.autoload

3c59x
_________________________________________

编辑/etc/conf.d/net 脚本

___________________
Code listing 34

# nano -w /etc/conf.d/net
# rc-update add net.eth0 default
_____________________________________

如果你有多块网卡,你需要为每一个卡创建额外的net.ethx脚本(x=1,2,...):

_________________
Code listing 35: Multiple network interfaces

# cd /etc/init.d
# cp net.eth0 net.ethx
# rc-update add net.ethx default
__________________________________________________

如果你有块PCMCIA卡,呢么就快速看一下/etc/init.d/pcmcia,确认一下所有里面的配置豆腐和你的要求

,然后添加
__________________
Code listing 36

depend() {
need pcmcia
}
_____________________
到 你的 /etc/init.d/net.ethx文件的头部,这样当你的网络启动的时候,pcmcia的驱动也就自动加载了



最后的步骤:配置基本设置 (包括国际keymap设置)
_______________________
Code listing 37: basic configuration

# nano -w /etc/rc.conf
___________________________________

最后的步骤:配置GRUB

搞清楚GRUB和硬盘分区之间的对应关系是理解GRUB引导程序最关键的部分。你的linux分区

/dev/hda1在GRUB下被称作 (hd0,0)。
注意hd0,0外面的园括弧是不能少的。硬盘的数字是从0开始计算的,分区也开始从0计算而不是1。所以

/dev/hdb3在GRUB下面就是(hd1,2)
/dev/hdd7在GRUB下面就是 (hd3,6).明白这些关系之后,将你的引导分区和根分区翻译成对应的GRUB命名

格式。现在就可以开始安装GRUB
了:

最方便安装GRUB的方法就是在你的已经chroot的命令行中输入grub命令

______________________________
Code listing 38

# grub
______________________________

你将会看到 grub>变成了提示符。现在你需要输入正确的命令在你的硬盘上安装GRUB引导记录,在我的样

本配置中,我将把GRUB引导
记录安装到我硬盘的MBR上.所以第一件事情我希望看到的就是当我打开计算机,出现GRUB提示。操作如下

:

____________________
Code listing 39

grub> root (hd0,0)
grub> setup (hd0)
grub> quit
_____________________________________
第一个root()命令告诉GRUB你的boot引导分区的位置(在我们的例子中/dev/hda1或者 (hd0,0)).接着第二

个setup()命令告诉GRUB安装boot
引导记录,它将会根据你指定的root()位置寻找一些特殊的文件。在我的例子中,我要boot引导记录存放

在硬盘的MBR区域,所以我就简单
地指定了/dev/hda(就是(hd0))。 如果我是用其他的引导程序并且想要把GRUB设置成第二引导程序,我可

以将GRUB安装到某个分区的引导区
在那种情况下,我需要制定一个分区而不是整个硬盘。一旦GRUB boot引导信息成功存储,你可以输

入quit离开GRUB管理界面。Gentoo Linux
就安装好了,但是我们需要创建/boot/grub/menu.lst文件 这样当系统启动的时候我们就可以得到一个漂

亮的GRUB启动菜单。
下面是具体的做法:

现在建立menu.lst文件(nano -w /boot/grub/menu.lst),并加入下面的内容:

________________________
Code listing 40

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=My example Gentoo Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda3

# 下面是给需要做多操作系统启动的人用的
title=Windows NT Workstation
root (hd0,5)
chainloader +1
_________________________________________________

____________________
注意 menu.lst 文件应该是"lst"结尾 lst就是list的意思,而不是 1 2 34的1st.并且 (hd0,0)的路径不

可以有任何的空格。
_______________________________________________________________________________

保存好上面的文件后,Gentoo Linux救安装完成了。选择第一个选项可以告诉GRUB引导你的Gentoo

Linux.第二部分菜单是可选的
主要是给那些希望使用GRUB引导windows分区的人用的。

______________________
注意: 上面的例子中, (hd0,0)必须指向你的"boot"分区(在上面的例子中对应的是/dev/hda1),

/dev/hda3必须指向你的根文件分区。
(hd0,5)包含 NT启动程序。
___________________________________________________________________________

同时,如果你需要传递参数给核心kernel,在 kernel命令的后面简单的加上去就可以了。我们已经传递了

一个参数(root=/dev/hda3)给
核心了,但是你也可以传递其他的参数。特别的,你可以通过传递 gentoo=nodevfs参数给核心kernel来

关闭devfs(不建议你这样做,除
非你很清楚自己在做什么)

___________________
注意:不像以前的Gentoo Linux版本,现在你不再需要在kernel那一行添加 devfs=mount参数来激活devfs

功能了,在rc6 devfs已经是
缺省激活的。
_____________________________________________________________

17. 安装完成 !!

现在Gentoo Linux已经完成安装了。最后一步就是推出chroot环境,安全的卸载你的分区然后重新启动计

算机.操作如下:
Code listing 41

# exit
// This exits the chrooted shell; you can also type ^D
# cd /
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/proc
# umount /mnt/gentoo
# reboot
____________________________________________________________________________________
Code listing 41

# exit
// This exits the chrooted shell; you can also type ^D
# cd /
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/proc
# umount /mnt/gentoo
# reboot
____________________________________________________________________

____________________
注意:重新启动后,建议你最好运行update-modules命令来创建 /etc/modules.conf文件。你不用直接

修改这个文件,如果要调整
可以对 /etc/modules.d下面的文件进行调整
__________________________________________________


如果你有任何的问题或者希望加入Gentoo Linux的开发工作,不要忘记加入我们

的Gentoo-user和gentoo-dev邮件列表(在我们的首页上
有一个快捷方式)。我们还提供了一份方便的桌面配置指南,可以帮助你继续配置Gentoo Linux系统,另

外还有一份Portage用户指南
可以帮你熟悉Portage基础知识。欢迎使用Gentoo Linux , 尽情享受Gentoo Linux 带来的乐趣吧 。
发表于 2006-3-27 15:13:31 | 显示全部楼层
回复

使用道具 举报

发表于 2006-3-27 17:33:12 | 显示全部楼层
感觉有点乱,而且有些东西已经过时了。

P.S.不好意思,没发现这贴子原来这么旧的!
回复

使用道具 举报

发表于 2011-1-10 01:28:19 | 显示全部楼层
回复楼上的。发现好多的帖子都是很老的帖子了
回复

使用道具 举报

发表于 2012-11-7 19:36:04 | 显示全部楼层
看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-19 09:49 , Processed in 0.085120 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表