欢迎光临散文网 会员登陆 & 注册

Gentoo安装记录

2023-09-11 21:39 作者:ticks-tan  | 我要投稿

最近打算将手上的 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/

使用 curlwget等工具下载需要的版本到 /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 标记使用、循环依赖怎么解决、桌面环境选择等等。



Gentoo安装记录的评论 (共 条)

分享到微博请遵守国家法律