Gentoo安装记录
最近打算将手上的 AMD Linux 切换到 Gentoo,写一篇文章记录下安装过程。
本文可能不适用于Linux新手,无论你是Linux安装老手还是对于无UI的Linux安装过程不太了解,都建议你在有任何疑惑时优先查看Gentoo官方Wiki,**本文仅作为安装参考**,而且安装过程中一些概念我也没有进行详细解释。当然,我会在每个小结最后贴上部分参考链接,方便查阅。
Gentoo 安装过程很长,请准备充足的时间再尝试安装,否则中断后再进行比较麻烦!
B站富文本排版太丑,推荐网站阅读:https://blog.ticks.cc/posts/id/09061821/
关于Gentoo
Gentoo也是一个历史比较悠久的Linux发行版,特点是系统安装最小化,允许用户自行选择各种软件包完成系统组装,软件安装采用源码编译,针对每个设备进行过优化,软件运行效率可能更高。软件包更新没有ArchLinux激进,但又不至于像Debian那样总是使用稳定的软件版本。
参考:
Gentoo 官网:https://www.gentoo.org/
Gentoo Wiki:https://wiki.gentoo.org/wiki/Main_Page
Gentoo 百度百科:https://baike.baidu.com/item/Gentoo/1205576
准备安装介质
Gentoo安装不同于Ubuntu、Arch那样使用自己的安装介质,Gentoo允许你使用其他Linux安装介质,因为Gentoo安装只需要借助安装介质中的各种工具,比如磁盘格式化、连接网络下载文件等。由于我从Arch换到Gentoo,所以我这里直接使用了Arch的安装介质,比较方便而且Arch安装介质中的 `fstab` 工具也蛮好用的。
当然Gentoo也提供了官方的安装介质,篇幅原因这里不介绍如何烧录Linux安装介质到U盘中,Windows用户可以使用 [Rufus](https://rufus.ie/zh/),ArchLinux ISO 下载地址:[清华镜像站-ArchLinux](https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/) 。
参考
Gentoo Wiki - 选择正确的安装介质:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Media/zh-cn
知乎 - Rufus制作USB启动盘:https://zhuanlan.zhihu.com/p/370193387
网络配置
烧录好安装介质后可以插上U盘并启动到 LiveCD 系统了,安装介质中提供了基础的Linux运行环境,首先要做的就是配置好网络与时间,方便之后下载文件和软件包。
ArchLinux安装介质中包含了 iwd 软件包,可以帮助我们连接到 Wifi:
配置好网络后需要确保当前系统时间是否正常,输入 date 查看当前日期,如果相差太远,需要先进行时间同步,否则无法下载网络文件。一般情况下电脑主板都会记录时间,不会相差太多。
Gentoo官方介质中提供了 chronyd 软件,可以使用 chronyd -q 进行同步,当然也可以手动进行设置,使用 date 命令来对系统时钟执行手动设置。它使用以下格式作为参数:使用 MMDDhhmmYYYY 语法(Month(月),Day(天),hour(小时),minute(分钟) 和 Year(年))。比如设置时间到 2023年9月16日20:30 :
参考:
Gentoo Wiki - 配置网络:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Networking/zh-cn
Arch Installation - 连接到互联网:https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97#%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%BA%92%E8%81%94%E7%BD%91
准备磁盘
跟其他Linux发行版安装一样,在安装前进行磁盘分区与格式化。
我习惯将 home 分区单独分区,所以我需要准备四个分区,分区大小按照我的情况推荐,具体根据自身情况分配:
| 设备位置(ssd可能为/dev/nvme0n1) | 挂载位置 | 文件系统格式 | 推荐大小 | 说明 |
| --- | --- | --- | --- | --- |
| /dev/sda1 | /boot | vfat | >=500M | 挂载引导分区,如果双系统安装该分区应该已经存在 |
| /dev/sda2 | /home | ext4/btrfs/... | >= 100G | 用户目录,平时使用用户软件数据存放位置,稍微大一点 |
| /dev/sda3 | / | ext4/btrfs/... | >= 60G | 系统其他目录,包括系统软件、可执行文件、日志等,稍微大一点 |
|/dev/sda4 | | swap | 系统内存/2左右 | 交换空间,有休眠需求或者大型软件使用 |
使用 cfdisk 进行分区划分,有UI操作界面,比 fdisk 更直观,之后进行格式化:
创建根目录:
挂载根目录
参考:
Gentoo Wiki - 准备磁盘:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks/zh-cn
安装Gentoo安装文件
Gentoo提供了几种不同的安装文件,主要分为 multilib(32+64位) 、no-multilib(64位) 、systemd 、openrc 几种组合,如果没有systemd需求则使用openrc版本,对于 no-multilib ,一般人不要选择。
不同版本会影响之后系统配置,由于是源码安装,安装好后再切换配置会变得非常麻烦,请考虑清楚后再决定!!!
下载地址:
[Gentoo官方]:https://www.gentoo.org/downloads/
[TUNA镜像]:https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/
[USTC镜像]:https://mirrors.ustc.edu.cn/gentoo/releases/amd64/autobuilds/
[Aliyun镜像]:https://mirrors.aliyun.com/gentoo/releases/amd64/autobuilds/
使用 curl、wget等工具下载需要的版本到 /mnt/gentoo 目录下,之后进行解压:
参考:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Stage/zh-cn#.E5.AE.89.E8.A3.85stage.E5.8C.85
配置编译选项和镜像
本节内容非常重要,涉及到了Gentoo中优化和配置系统的主要内容以及包管理器相关知识,建议认真阅读参考链接!!!
Gentoo支持包管理器,并支持一些系统变量,编译软件时会从特定文件读取这些系统变量,可以通过配置环境变量达到调整系统的作用。配置编译选项的文件位于系统 /etc/portage/make.conf ,当前位于 /mnt/gentoo/etc/portage/make.conf ,下面是一些变量的说明:
CFLAGS :定义GCC编译优化标志,一般修改为 CFLAGS="-march=native -O2 -pipe" 即可,-march指定cpu架构,不清楚填 native 即可,可在 [此处](https://www.funtoo.org/Subarches) 查看,配合设置 CHOST 变量。
CXXFLAGS :C++编译优化标志,同上即可。
MAKEOPTS :指定编译时使用线程数量,越大越快,内存消耗越大,根据cpu核心数设置,不要太大,比如8核心16线程可以设置为 MAKEOPTS="-j6" 。
GENTOO_MIRRORS :指定Gentoo软件包镜像,比如 USTC镜像 :GENTOO_MIRRORS="https://mirrors.ustc.edu.cn/gentoo/" ,根据具体镜像站设置。
USE :控制系统软件包使用哪些和不使用哪些功能,参考wiki。
EMERGE_DEFAULT_OPTS :emerge 默认选项,具体参考 Gentoo Emerge。
ACCEPT_KEYWORDS :允许的软件包架构,如果需要使用测试版软件,务必加上 ACCEPT_KEYWORDS="~amd64" 。
ACCEPT_LICENSE :允许的软件许可协议,直接设置为允许全部即可:ACCEPT_LICENSE="*"。
L10N :系统语言,一般允许中、英文即可:L10N="en-US zh-CN en zh" 。
CPU_FLAGS_X86 :针对特定cpu的编译选项,系统安装好之后安装 app-portage/cpuid2cpuflags 软件,使用 cpuid2cpuflags 获取,然后写入该变量中。
VIDEO_CARDS :根据显卡设置。
其他 :参考 [Gentoo Wiki - make.conf](https://wiki.gentoo.org/wiki//etc/portage/make.conf/zh-cn) 。
还需要配置 portage 镜像,官方的日常使用太慢,配置文件位于:/etc/portage/repos.conf/gentoo.conf,LiveCD为:/mnt/gentoo//etc/portage/repos.conf/gentoo.conf,没有可以新建:
参考链接:
[Gentoo Wiki - make.conf]:https://wiki.gentoo.org/wiki//etc/portage/make.conf/zh-cn
[Gentoo Wiki - 配置编译选项]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Stage/zh-cn#.E9.85.8D.E7.BD.AE.E7.BC.96.E8.AF.91.E9.80.89.E9.A1.B9
[Gentoo Wiki - 使用USE标记]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE/zh-cn
[Gentoo Wiki - Portage介绍]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage/zh-cn
[Gentoo Wiki - 环境变量](https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/EnvVar/zh-cn)
下面是一个 make.conf 文件例子,仅供参考:
进入Gentoo环境
复制DNS信息:
挂载必要的文件系统:
如果使用非Gentoo安装介质,可能需要额外操作:
chroot进入Gentoo环境:
现在开始所有操作都是在Gentoo环境下进行!
挂载Boot和Home分区(如果有):
参考链接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E5.A4.8D.E5.88.B6DNS.E4.BF.A1.E6.81.AF
配置 Portage 并更新系统
先使用镜像快照更新数据库(通常为24小时内快照):
进一步更新到一小时内最新数据库:
更新完数据库后,可能会发布一些最新通知,建议查看,以查看某些大的更改:
选择配置文件,不同配置文件包含了不同的软件包及其依赖,更换配置文件后USE标记也会更新,之后需要对整个系统进行更新来应用更改,比如某些软件更改,依赖该软件的其他软件可能需要重新编译。
列出所有配置并选择:
更换配置文件或者更改USE标记后,使用下面命令进行系统更新,之后就是漫长的编译安装过程,期间可以玩几把游戏或者看剧 :
期间如果遇到循环依赖等情况,那就自求多福,查看Wiki如何解决吧,刚开始USE不要写太多,这样可以避免一些问题,不过随着USE越来越多,很难避免这些情况。
跑完之后,再检查一遍是否更新完成:
参考链接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E9.85.8D.E7.BD.AE_Portage
配置时区与区域
国内下面这样设置即可:
参考链接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E9.85.8D.E7.BD.AE.E5.8C.BA.E5.9F.9F.E8.AE.BE.E7.BD.AE
配置文件系统
fstab配置,UUID可以使用 blkid 查看 :
如果使用 btrfs 文件系统,需要提前安装 emerge sys-fs/btrfs-progs 。
参考链接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E9.85.8D.E7.BD.AE.E5.8C.BA.E5.9F.9F.E8.AE.BE.E7.BD.AE
其他配置
修改主机名
配置网络
安装内核
自己配置内核很麻烦,所以建议在安装阶段先使用 Gentoo 官方内核,等开机后有时间再自己去配置优化自己的内核。
安装必要的软件
配置引导
安装 Grub 前检查 /etc/portage/make.conf 文件是否设置了 GRUB_PLATFORMS="efi-64" ,没有则需要添加:
安装 Grub 并配置:
添加用户
参考链接:
[Gentoo Wiki - 0]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System/zh-cn
[Gentoo Wiki - 1]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Tools/zh-cn
收尾工作
最后再检查一遍下面的配置是否正确:
/boot目录下是否有内核即Grub文件
/etc/fstab 文件挂载目录是否正确
用户及root权限、密码
必要的工具比如网络配置软件
确定无误后重启进入系统:

如果系统成功启动,那么恭喜你完成了难度很高的 Gentoo 安装工作,但是对于使用 Gentoo 来说,
安装只是第一步,接下来就需要你自己完成剩余的装修工作了,难度丝毫不亚于安装的难度,但是你也会收获很多。
比如 Linux 内核配置优化流程、各种软件 USE 标记使用、循环依赖怎么解决、桌面环境选择等等。