This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

手册:X86/安装/选择安装媒介

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Installation/Media and the translation is 100% complete.
X86 Handbook
安装
关于安装
选择安装媒介
配置网络
准备磁盘
安装stage3
安装基本系统
配置Linux内核
配置系统
安装系统工具
配置系统引导程序Bootloader
收尾安装工作
使用Gentoo
Portage介绍
USE标记
Portage功能特性
初始化脚本(Initscript)系统
环境变量
使用Portage
文件和目录
变量
混合使用不同的软件分支
额外的工具
定制Portage树
高级特性
网络配置
入门
高级配置
模块化网络
无线
添加功能
动态管理


硬件需求

在开始之前,我们先列出在一台 x86 的主机上成功安装Gentoo所必须的硬件需求。


Minimal CD LiveDVD
CPU i486 or later i686 or later
Memory 256 MB 512 MB
Disk space 2.5 GB (excluding swap space)
Swap space At least 256 MB

The X86 project is a good place to be for more information about Gentoo's x86 support.


使用Gentoo Linux安装光盘

最小化安装CD

附注
在 2018 年 8 月 23 日,官方的最小CD“可以”在UEFI模式下启动。预览版仅支持在BIOS(MBR)模式下引导。如果希望使系统以UEFI启动,读者必须下载最新的ISO。

Gentoo最小化安装CD是一张包含有完整Gentoo环境的可引导镜像。它允许用户从CD或其它安装媒介引导进入Linux。在引导过程中将检测硬件并加载适当的驱动。这个镜像由Gentoo开发人员维护,能让任何有Internet连接的人来安装Gentoo。

最小化安装CD叫做install-x86-minimal-<release>.iso

偶尔用到的Gentoo LiveDVD

有时候需要用一张由Gentoo Ten项目特制的DVD来安装Gentoo。接下来的介绍是针对最小化安装CD的,因此可能会有一点不同。不管怎么样,LiveDVD(或任何其他可引导的Linux环境)支持通过在终端调输入 sudo su - 或者 sudo -i 来获取所需权限。

stage又是什么?

stage3压缩包是一个包含有最小化Gentoo环境的文件,可用来按照本手册介绍继续安装Gentoo。以前的Gentoo手册描述了使用三个 stage tarballs的其中一个来进行安装。现在Gentoo仍然提供stage1和stage2的压缩包,但是官方安装方法只使用stage3压缩包。如果你对使用stage1或stage2压缩包安装Gentoo感兴趣,请阅读 Gentoo 常见问题中的如何使用stage1或stage2 tarball安装Gentoo?

Stage 文件更新比较频繁并且不在安装镜像中提供,但可以在任意一个Gentoo官方镜像站 releases/x86/autobuilds/ 路径下选择下载。

下载

获得安装媒介

Gentoo Linux使用最小化安装CD做为默认安装媒介,它带有一个非常小的可引导的Gentoo Linux环境。此环境包含所有正确的安装工具. CD镜像本身可以从官方下载页(推荐)或任意一个镜像站下载。

在这些镜像站上,最小化安装CD可以通过以下方式找到:

  1. 进入 releases/ 目录
  2. 选择相应的架构, 如 x86/
  3. 选择 autobuilds/ 目录
  4. 对于 amd64x86 平台的用户,请选择 current-install-amd64-minimal/current-install-x86-minimal/ 目录。如果需要所有其它平台的,请进入 current-iso/ 目录。
附注
一些架构例如armmips,和s390 是没有最小化安装 CD 的。 这是因为 Gentoo 发行工程项目 ( Gentoo Release Engineering project ) 不支持构建这些平台的.iso文件。

在这个位置,安装媒体文件是那些带有.iso扩展名的文件。比如下面的清单:

CODE releases/中的文件样本x86/autobuilds/current-iso/
[DIR] hardened/                                          05-Dec-2014 01:42    -   
[   ] install-x86-minimal-20141204.iso                 04-Dec-2014 21:04  208M  
[   ] install-x86-minimal-20141204.iso.CONTENTS        04-Dec-2014 21:04  3.0K  
[   ] install-x86-minimal-20141204.iso.DIGESTS         04-Dec-2014 21:04  740   
[TXT] install-x86-minimal-20141204.iso.DIGESTS.asc     05-Dec-2014 01:42  1.6K  
[   ] stage3-x86-20141204.tar.bz2                      04-Dec-2014 21:04  198M  
[   ] stage3-x86-20141204.tar.bz2.CONTENTS             04-Dec-2014 21:04  4.6M  
[   ] stage3-x86-20141204.tar.bz2.DIGESTS              04-Dec-2014 21:04  720   
[TXT] stage3-x86-20141204.tar.bz2.DIGESTS.asc          05-Dec-2014 01:42  1.5K

在上面的例子中, install-x86-minimal-20141204.iso文件是最小化安装CD。但可以看到,还有其他相关文件存在:

  • .CONTENTS 文件是一个文本文件,它列出了安装媒介中的所有文件。这个文件可用于在下载前确认安装媒介是否包含特定的固件和驱动程序。
  • .DIGESTS 文件包含了ISO文件的Hash值,有不同的Hash格式/算法。这个文件可以用来验证已下载的ISO文件有没有损坏。
  • .DIGESTS.asc 文件不仅包含了ISO文件的Hash值(和 .DIGESTS 文件一样),还包含了它的加密签名。这个文件即可用于验证已下载的ISO文件是否损坏,也可验证文件确实是由Gentoo发行工程组(Gentoo Release Engineering Team)发布而没有被篡改。

现在可以先忽略当前位置的其他文件——它们在安装的后续步骤中会被提到。下载 .ISO,另外如果想要验证下载的文件,同时下载ISO文件对应的 .DIGESTS.asc.CONTENTS 文件不需要下载,因为安装指南后续不会用到这个文件。 .DIGESTS 这个文件和.DIGESTS.asc 文件包含相同的信息,除此以外后者还包含有上面文件的数字签名。

校验下载的文件

附注
这是一个可选步骤,并不是安装 Gentoo Linux 所必须的。但是,我们仍然推荐这么做,以此来确保下载的文件没有损坏,以及确保下载文件确实由 Gentoo发行工程组( Gentoo Release Engineering Team ) 提供。

通过 .DIGESTS.DIGESTS.asc 文件,可以使用合适的工具来校验 ISO 文件的有效性。校验通常有两个步骤:  

  1. 首先,验证加密签名,确保安装文件是由Gentoo发行工程组( Gentoo Release Engineering team ) 提供
  2. 如果加密签名是有效的,就验证它的文件校验值 (比如 SHA512,WHIRLPOOL),以此来确认下载的文件没有损坏。

在微软 Windows 操作系统上校验

在微软 Windows 系统上,已经安装用来验证校验和加密签名工具的可能性很低。

首先验证文件数字( GPG )签名,可以使用类似 GPG4Win 这样的工具。安装完工具后,需要导入 Gentoo 发行工程组(Gentoo Release Engineering Team)的公钥。 公钥列表在: 数字签名页。 一但导入完成,用户就可以验证 .DIGESTS.asc 文件的数字签名。

重要
这并不能验证 .DIGESTS 文件是否正确,只是验证有.DIGESTS.asc 文件。这同时也意味着 .DIGESTS.asc 文件所包含的校验和的值也一起被验证了,这就是为什么上面的说明只要求下载 .DIGESTS.asc 文件。

可以使用 Hashcalc 应用 来计算校验和,当然还有许多其他工具也可以用。在大多数情况下,这些工具将向用户显示计算出来的校验值,用户需要将它和 .DIGESTS.asc 文件中的值进行比对验证。

在已有的 Linux 系统上校验

在 Linux 系统上,最常用的验证加密签名的方法就是使用 app-crypt/gnupg 这个软件。安装了这个程序,就可以使用以下命令来验证 .DIGESTS.asc 文件中的数字(GPG)签名。

首先,下载 数字签名页 中正确的密匙:

user $gpg --keyserver hkp://keys.gnupg.net --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net
gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   3  signed:  20  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:  20  signed:  12  trust: 9-, 0q, 0n, 9m, 2f, 0u
gpg: next trustdb check due at 2018-09-15
gpg: Total number processed: 1
gpg:         new signatures: 1

下一步验证 .DIGESTS.asc 文件的数字(GPG)签名:

user $gpg --verify install-x86-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET
gpg:                using RSA key 0xBB572E0E2D182910
gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD  B1BA BB57 2E0E 2D18 2910

为了绝对确定所有文件都是有效的,验证上面显示的密匙指纹信息是否和 数字签名页 的密匙指纹信息一致。

确认数字签名有效后,接下来就是验证校验值,以确保下载的ISO文件没有损坏。 .DIGESTS.asc 文件包含了多个哈希算法,所以验证正确校验和的方法之一是先找到登记在文件 .DIGESTS.asc 中的相应的校验值。例如,获取 SHA512 的校验值:

user $grep -A 1 -i sha512 install-x86-minimal-20141204.iso.DIGESTS.asc
# SHA512 HASH
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-x86-minimal-20141204.iso
--
# SHA512 HASH
0719a8954dc7432750de2e3076c8b843a2c79f5e60defe43fcca8c32ab26681dfb9898b102e211174a895ff4c8c41ddd9e9a00ad6434d36c68d74bd02f19b57f  install-x86-minimal-20141204.iso.CONTENTS

在上面的输出中,显示了两个SHA512校验和:一个用于文件:install-x86-minimal-20141204.iso,一个用于与之对应的 .CONTENTS 文件。只有第一个校验值有用,因为要用它来和下面计算出来的 SHA512 的校验值进行比较:

user $sha512sum install-x86-minimal-20141204.iso
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-x86-minimal-20141204.iso

如果两个校验值匹配,那么表明文件没有损坏,安装可以继续进行。损坏的文件会导致安装出现问题,请重新下载。

刻录光盘

当然,只是下载一个 ISO 文件是无法开始 Gentoo Linux 的安装的。需要将这个ISO文件刻录成一张用来启动的 CD 光盘,是要将 ISO 文件里的内容而不是 ISO 文件本身刻录到CD光盘上。下面介绍了一些常见的方式 - 这里可以找到其他更复杂的方式:[如何刻录ISO文件].

在微软 Windows上刻录

在微软 Windows 上有许多工具支持将 ISO 文件刻录到 CD 光盘。

  • 使用 EasyCD Creator,选择菜单“文件从CD镜像刻录CD”(File,Record CD from CD image)。然后选择“文件类型”(Files of type)为“ISO镜像文件”(ISO image file)。找到ISO文件所在位置,点击“打开”(Open)。点击“开始刻录”(Start recording)后 ISO 镜像将会正确地刻录到 CD-R 光盘上。
  • 使用 Nero Burning ROM,取消自动弹出的向导,从“文件”(File)菜单选择“刻录镜像”(Burn Image)。 选择要刻录的镜像文件然后点击“打开”(Open)。选择“刻录”(Burn)按键,然后等待 CD 光盘刻录完成。

在已有的 Linux 系统上刻录

在 Linux 系统上,可以通过 cdrecord 命令将ISO文件刻录到CD光盘上,这个命令由 app-cdr/cdrtools 软件包提供。

例如,将ISO文件刻录到 /dev/sr0 设备的 CD 光碟上(这是系统上的第一个 CD 设备-在必要时将其替换为正确的设备):

user $cdrecord dev=/dev/sr0 install-x86-minimal-20141204.iso

喜欢使用图形化界面的用户可以使用 K3B ,它由 kde-app/k3b 软件包提供。在 K3B 软件中,选择“工具”Tools)菜单,然后选择“刻录CD镜像”(Burn CD Image)。然后按照 K3B 提供的使用说明操作。

启动

启动安装媒介

安装媒介准备就绪后,就可以启动了。 将安装媒介插入系统中,重启,然后进入主板的固件用户界面。 通常是在开机自检(POST)过程中通过在键盘上按DEL, F1, F10, 或 ESC 进入,“触发”键取决于系统和主板。 如果使用主板的型号作为关键字在互联网搜索引擎进行搜索, 结果应该很容易确定。进入主板的固件菜单后,更改引导顺序,以便在内部磁盘设备之前尝试外部可启动媒介(CD / DVD盘或USB驱动器)。 否则,系统很可能会重新启动到内部磁盘设备,从而忽略外部启动媒介。

重要
如果想安装使用 UEFI 引导的 Gentoo ,建议立即使用UEFI启动。如果不用 UEFI 来启动,可能就要在最后完成 Gentoo Linux 的安装之前制作一个可以启动的 UEFI U盘(或其他介质)。

如果启动没有成功,请确保将安装媒介插入系统,然后重新启动。这是会显示一个启动提示符。 此时按Enter键将使用默认的启动选项启动。如果要使用自定义引导选项引导安装媒介,请按照启动选项指定一个内核,然后按Enter键。

在启动提示符下,用户可以按 F1 键显示可用的内核,按 F2 按键显示可用的启动选项。如果在15秒内没做任何选择(既不显示信息,也不选择内核)安装媒介将会从硬盘启动。这样不用将 CD 光盘从光盘驱动器里拿出来,也可以在安装过程中重启和尝试已安装好的环境(这有时在远程安装的时候很有用)。

提到了指定一个内核。 在最小安装介质上,只提供了两个预定义的内核启动选项。 默认选项叫gentoo。 另一个是“-nofb”变量; 这会禁用内核帧缓冲区支持。

下一节将简要介绍可用的内核及其说明:

内核选择

gentoo
默认内核,支持K8 CPU(包括NUMA支持)和EM64T CPU。
gentoo-nofb
与“gentoo”相同,但没有framebuffer支持。
memtest86
测试本地RAM的错误。

引导选项可以配合内核进一步调整引导过程的行为。

硬件选择

acpi=on
这个选项载入对 ACPI 的支持,同时也会让 CD 光盘在启动时运行 acpid 守护进程。在系统需要 ACPI 才能正常工作的情况下才需要设置此选项。超线程(Hyperthreading)的支持不需要此选项。
acpi=off
彻底禁用 ACPI。这个选项在一些较老的系统上比较有用,同样也是使用 APM 功能的必需项。这个选项也会禁用处理器的超线程支持。
console=X
这会启用对一些终端的访问许可。它的第一个参数是设备,默认是 x86 的 ttyS0, 之后的其它选项请使用逗号分割。默认参数是 9600,8,n,1 。
dmraid=X
这会传递参数给 device-mapper RAID 子系统。需要在参数两端加上括号。
doapm
这会加载对 APM 驱动的支持。这同时需要 acpi=off.
dopcmcia
这会加载对 PCMCIA 和 Cardbus 硬件的支持,并且会使 pcmcia cardmgr 在 CD 启动时被启用. 这只有在从 PCMCIA/Cardbus 设备启动时才需要。
doscsi
这会加载对大部分 SCSI 控制器的支持。当从使用 SCSI 内核子系统的 USB 设备启动时需要这个参数。
sda=stroke
这会允许用户对整块硬盘进行分区,即使是 BIOS 无法控制的大容量硬盘。这个选项只有在使用老的 BIOS 的机器上才需要。注意,请把 “sda” 替换为需要这么做的设备。
ide=nodma
这会强制内核禁用 DMA ,一些 IDE 芯片组和一些 CDROM 的驱动需要这么做才能工作。如果系统无法正常读取 IDE 的 CDROM,可以试试这个选项。这同时也会禁止默认的 hdpram 设置被执行。
noapic
这会禁用一些新主板上的高级程序中断控制器(Advanced Programmable Interrupt Controller,APIC),因为这可能会造成一些旧的硬件无法正常工作。
nodetect
这会禁止 CD 的全部自动检测功能,包括对硬件的检测和 DHCP 探测。 这有助于对启动失败的 CD 或驱动器进行查错。
nodhcp
这会禁用在被发现的网卡上进行 DHCP 探测。这在需要使用固定 IP 的时候很有用。
nodmraid
禁用对 device-mapper RAID 的支持,比如板载的IDE/SATA RAID控制器。
nofirewire
这禁用了对 “火线”( Firewire ) 模块的加载。该选项只在“火线”(Firewire)造成 CD 无法正常启动时才需要。
nogpm
这禁用对 gpm 控制台的鼠标(gpm console mouse)的支持。
nohotplug
这会禁止在启动时加载对热插拔和冷插拔的脚本。这有助于对启动失败的 CD 或驱动器进行查错。
nokeymap
这会禁用选择键盘映射(只有不是 US 键盘时才需要进行对键盘映射的设置)。
nolapic
这会在单处理器内核里禁用本地APIC。
nosata
这会禁止加载 Serial ATA 模块. 这在 SATA 子系统出错时才需要。
nosmp
这会在支持 SMP 的内核上禁用 SMP(Symmetric Multiprocessing)。这在为排查与 SMP 相关的驱动或内核错误时很有用。
nosound
这会禁止对音频的支持和音量控制。这在音频系统造成问题时很有用。
nousb
这会禁止自动加载的 USB 模块。这在 USB 出现问题时很有用。
slowusb
这会为慢速的USB CDROM 在启动时添加更多额外的中断,就像 IBM BladeCenter 那样。

逻辑卷/设备管理

dolvm
这会启用 Linux 的逻辑分区管理器(Logical Volume Management)。

其他选项

debug
启用调试代码。这可能会显得乱糟糟的,因为这会向输出大量的数据。
docache
这会把整个 CD 运行环境缓存到内存中,这会使用户可以卸载 /mnt/cdrom 并挂载另外一个 CDROM 。这个选项需要至少两倍于 CD 大小的内存空间。
doload=X
这会使启动时内存盘(initial ramdisk,initrd)加载这之后列出来的模块和它们的依赖。把“X”替换为模块名称,当需要加载多个模块时请用逗号分割。
dosshd
在启动时启用 sshd 服务,这在无人值守安装时很有用。
passwd=foo
这会将等号后的字符设置为 root 用户的密码,当使用“dosshd”参数时需要这么做因为默认的 root 密码是留空的。
noload=X
这会使启动时内存盘(initial ramdisk,initrd)跳过对某些会造成问题的特定模块的加载。使用方法和“doload”相同。
nonfs
禁止在启动时启用 portmap/nfsmount 。
nox
这会使启用X的 LiveCD 不自动启动X,而是使用命令行。
scandelay
这会使 CD 在启动过程中等待十秒来使一些初始化很慢的设备完成初始化。
scandelay=X
这允许用户指定 CD 在启动过程中等待一些初始化很慢的设备完成初始化所需的延迟的时间。把X替换为所需要等待的时间(以秒为单位,只需要填写数字)。
附注
启动媒介将先检查no*选项,再检查do*选项,所以那些选项可以按照这个顺序覆盖。

现在启动安装媒介,选择一个内核(如果默认的 gentoo 的内核不能满足)和引导选项。作为示例,我们引导 gentoo 内核启动,并带有dopcmcia作为内核参数:

boot:gentoo dopcmcia

接下来迎接用户的是一个引导屏幕和进度条。如果用来安装系统的是一个非US键盘,确保马上按Alt + F1来切换到详细模式并遵照提示。如果在10秒钟内什么都没有选,则接受默认(US键盘)并继续引导过程。一旦引导过程完成,用户将自动以root超级用户身份登录到“Live”Gentoo Linux环境。当前控制台将显示一个root提示符,并且可以通过按Alt + F2Alt + F3Alt + F4切换到其他控制台。按Alt + F1返回到启动时的那个。



额外的硬件配置

当安装媒介启动时,它会尝试检测所有的硬件设备并加载合适的内核模块来支持硬件。在绝大多数的情况下,它工作得很好。然而,在某些情况下它可能没有自动加载系统所需的内核模块。如果 PCI 自动检测错过了一些系统硬件,相应的内核模块就必须手动加载了。

下面例子手工加载了 8139too 模块(它提供对某些类型的网卡的支持):

root #modprobe 8139too

可选:用户账号

如果其他人需要访问安装环境,或者需要以非 root 用户的身份在安装媒介上运行命令(例如出于安全原因使用没有 root 特权的 irssi 聊天),这时就需要创建额外的用户帐户,并将 root 用户密码设为强密码。

使用 passwd 命令来修改 root 用户密码:

root #passwd
New password: (Enter the new password)
Re-enter password: (Re-enter the password)

要创建一个用户账户,先输入他们的信息,然后设置密码。用 useraddpasswd 命令来完成这些操作。

在下面的例子中,创建了一个名为“john”的用户。

root #useradd -m -G users john
root #passwd john
New password: (Enter john's password)
Re-enter password: (Re-enter john's password)

使用 su 命令可以从 root 用户(当前用户)切换到新建的用户:

root #su - john

可选:在安装时查看文档

TTYs

要在安装期间查看 Gentoo 安装手册,首先要按照上面的方法创建一个新的用户帐户。然后按 Alt+F2 进入一个新的终端。

在安装期间, 可以用 links 命令来浏览 Gentoo 安装手册 - 当然,只有在互联网连接可用的时候才行。

user $links https://wiki.gentoo.org/wiki/Handbook:X86

要回到原来的终端,请按 Alt+F1

GNU Screen

GNU Screen是官方Gentoo安装介质中默认安装的实用程序。对于经验丰富的Linux爱好者来说,使用 screen 分割窗口查看安装说明,而不是上面提到的多个TTY的方法, 这可能更高效。

可选:启动SSH服务

要在安装期间允许其他用户访问你的系统(可能是为了在安装过程中提供技术支持,甚至远程安装),需要添加一个用户账户(就像之前的文档描述的那样)同时 SSH 服务也要启动。

若要在 OpenRC init 启动 SSH 服务,请执行以下命令:

root #rc-service sshd start
附注
如果用户登录到系统,他们将看到一个本系统主机密钥需要确认的信息(也就是我们说的密匙指纹)。此行为是典型的并且可以像预期一样与SSH服务器进行初始连接。但是,以后当系统设置好,并有人登录到新安装的系统时,SSH客户端会警告主机密钥已被更改。这是因为现在用户登录 - 对于SSH来讲 - 是一个不同的服务器(即新安装的Gentoo系统,而不是现在正在使用的安装系统环境)。请按照屏幕上的指示,去替换用户端的主机密钥

网络需要能正常工作,sshd 才能使用。请参照 配置网络 的内容继续安装。