Gentoo Logo

1.  安装一个Stage Tarball

正确设置日期/时间

在继续之前,你需要检查和更新系统日期/时间。未正确设置的时钟可能会在将来导致奇怪的结果!

确认当前日期/时间,请运行date

代码 1.1: 确认日期/时间

# date
Fri Mar 29 16:21:18 CEST 2005

如果显示的日期/时间不正确,可以使用date MMDDhhmmYYYY命令(MM是月,DD是日,hh是时,mm是分,YYYY是年)来更新它。在这一步,你应该使用UTC时间。稍后你可以设置你自己的时区。举个例子,设置时间为2005年3月29日16时21分:

代码 1.1: 设置UTC日期/时间

# date 032916212005

做出你的选择

下一步你要做的是安装你所选择的stage tarball到你的系统里。

1.  下载Stage Tarball

进入Gentoo的挂载点,也就是装Gentoo的分区挂载的地方(很可能是/mnt/gentoo):

代码 1.1: 进入Gentoo的挂载点

# cd /mnt/gentoo

下面这个表格指定了你的系统需要哪个stage。Stage可以从官方Gentoo镜像下载,它们在releases/mips/current目录下。

字节序 CPU 位置
big endian
(SGI用户)
R4000
R4400
R4600
mips3/stage#-mips3-RELEASE.tar.bz2
big endian
(SGI用户)
R5000
RM5200
RM7000
R10000
R12000
R14000
mips4/stage#-mips4-RELEASE.tar.bz2
little endian
(Cobalt用户)
RM5230
RM5231
cobalt/stage#-mipsel4-RELEASE.tar.bz2
little endian
(其他用户)
所有的标准CPU类型 cobalt/stage#-mipsel1-RELEASE.tar.bz2

警告: 虽然我们提供little endian MIPS1的stage,但是对于little endian MIPS系统的支持只局限于Cobalt服务器。它们是为那些想在目前不支持的平台上试验Gentoo的人提供的,所以我们假设你知道你在做什么。

如果你需要通过代理上网的,那么请export http_proxyftp_proxy这两个变量:

代码 1.1: 为wget设置代理信息

# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"

Gentoo/MIPS netboot镜像提供了wget作为下载文件的工具。因为空间的限制,在SGI netboot镜像里不可能提供功能更完善的浏览器。LiveCD用户可以是用elinks

代码 1.1: 用wget下载tarball

# wget -c http://distfiles.gentoo.org/releases/mips/mips4/stage3-mips4-2008.0.tar.bz2

如果你想校验所下载的stage tarball的完整性,使用md5sum或者sha1sum然后把输出同镜像站上提供的MD5校验和对比。例如校验一个mips4的stage tarball:

代码 1.1: 校验一个stage tarball完整性的例子

# md5sum -c stage3-mips4-2008.0.tar.bz2.DIGESTS
stage3-mips4-2008.0.tar.bz2: OK
# sha1sum -c stage3-mips4-2008.0.tar.bz2.DIGESTS
stage3-mips4-2008.0.tar.bz2: OK

解开Stage Tarball

现在把你所下载的stage解压缩到系统里。我们使用GNU的tar命令来做,这是最简单的方法:

代码 1.1: 解开stage

# tar -xjpf stage?-*.tar.bz2

确保你使用了同样的参数(xvjpf)。x表示解开(Extract),v表示详细信息(Verbose)可以用来查看解压缩时发生了什么(可选参数),j表示使用bzip2解压缩,p表示保留权限(Preserve permissions),还有f表示我们要解开一个文件,而不是标准输入。

现在stage已经安装好,下面我们继续安装Portage

1.  安装Portage

解开一个Portage快照

现在你得安装一个Portage的快照,它包含的一堆文件告诉Portage哪些软件可以安装,有哪些profile可用等等。

下载和安装Portage快照

进入Gentoo文件系统的挂载点(很可能是/mnt/gentoo):

代码 1.1: 进入Gentoo的挂载点

# cd /mnt/gentoo

本地镜像下载一个portage快照。你可以在snapshots/目录下找到它们。使用和stage tarball一样的处理方式把它传输到目标系统里。

代码 1.1: 解开Portage快照

# tar -xjf portage-*.tar.bz2 -C /mnt/gentoo/usr

1.  配置编译选项

介绍

你可设置一些影响Portage行为的变量来优化Gentoo。这些变量都可作为环境变量来设置(使用export),但是它们不是永久的。为了保持你的设置,Portage为你提供了/etc/make.conf,一个Portage的配置文件。这就是我们现在要编辑的文件。

注意: 所有可能的变量都用注释形式罗列在/mnt/gentoo/etc/make.conf.example里。要成功的安装Gentoo,你只需要设置下面提到的变量。

打开一个文本编辑器,现在我们要改变我们下面将要讨论的优化变量。我们提供了两个编辑器,vi(Busybox的一部分)和nano。我们将假设你正在使用nano

代码 1.1: 打开/etc/make.conf

# nano -w /mnt/gentoo/etc/make.conf

你很可能已经注意到了,make.conf.example文件的结构和一般的文件一样:注释行以"#"开头,其它行使用VARIABLE="content"的语法来定义变量。make.conf文件也使用相同的语法。其中的一些变量我们接下来讨论。

CFLAGS和CXXFLAGS

CFLAGSCXXFLAGS变量分别定义了gcc C和C++编译器的优化标记。尽管我们通常都在这里定义,你也可以对每个软件单独定义这些优化标记以获得最好的性能。因为每个程序都是不同的。

make.conf里你应该定义一些你认为可以使系统在一般情况下快速响应的优化标记。不要把实验性质的设置放到这个变量里来;过多的优化会使程序表现很差(崩溃,甚至更糟,不正常工作)。

我们不会解释所有可能的优化选项。如果你想搞清楚它们,请阅读GNU在线手册或者是gcc info页面(info gcc——只能在可工作的Linux系统中查看)。make.conf.example本身也包含了不少信息和范例;不要忘了也看看它。

第一个设置是-march=标记,它指定了目标架构的名字。可能的选项会在make.conf.example里有说明(以注释形式出现)。例子有ISA级别(mips1……mips4)和CPU型号(r4400r4600……等等)。对于纯ISA级别架构,可以简单的只指定-mips3而不必-march=mips3

代码 1.1: GCC -march和-mips#设定

(针对R4600系统……)
-march=r4600

(任何MIPS4级别的CPU……)
-march=mips4

(或者干脆直接指定ISA级别……)
-mips4

第二个是-O标记(是大写的O,而不是数字零),它是指定gcc的优化级别的标记。可能的级别有s(为优化文件大小),0(0——不优化),12乃至3是针对速度的优化标记(每个级别都包含前一级的优化措施,并额外增加了一些)。-O2是推荐的默认设置。-O3已知当全局启用时会引起一些问题,所以我们推荐你还是用-O2

代码 1.1: GCC优化设定

-O2

在MIPS世界里很重要的一个设定是-mabi=参数。MIPS有3个不同的ABI:32(纯32位,也称o32),64(全64位,也称n64)和n32(32位数据结构和64位指令的混合体)。你想用哪个就用这个参数来选择。注意你需要有你所选择的ABI的库。比如,在layman的术语里,这意味着你不能在32位userland(甚至n32 userland)里使用-mabi=64

另一个普遍使用的优化标记是-pipe(不同编译阶段通信使用管道而不是临时文件)。 它对产生的代码没有任何影响。

使用-fomit-frame-pointer(它将不在寄存器里为不需要帧指针的函数保存帧指针)可能会在调试程序的时候造成严重后果!

在你定义CFLAGSCXXFLAGS的时候,你需要把这些优化标记都合并起来,就像下面这个例子:

代码 1.1: 定义CFLAGS和CXXFLAGS变量

CFLAGS="-mabi=32 -mips4 -pipe -O2"
CXXFLAGS="${CFLAGS}"                  # 两个变量使用相同的设置

注意: 你应该看一看编译优化指南以了解更多的信息,比如不同的编译选项将如何影响你的系统。

MAKEOPTS

通过使用MAKEOPTS你可以定义在安装软件的时候同时可以产生并行编译的数目。你的CPU数目加一是个不错的选择,但是这个准则并不永远都是完美的。

代码 1.1: 单CPU系统的MAKEOPTS

MAKEOPTS="-j2"

设置已准备好,让我们开始!

根据你的喜好更新/mnt/gentoo/etc/make.conf并保存(nano用户可以敲Ctrl-X)。你现在准备好可以继续(安装Gentoo基本系统)了。

更新于2010年 1月 2日

本文档的原始版本最后更新于2010年 8月 28日

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.