Gentoo 安装笔记

开宗明义

Linux 就应该不要选择使用桌面

不选择桌面的原因

可以节省你大量折腾的时间 包括但不限于以下内容
GNOME 3/KDE 5/Xfce/Mate 等桌面的选择、配置、美化 (我有强迫症)
Windows 上的工具/软件的替代品 (QQ/Wechat etc.)

安装环境与分区方案

Windows 10 1909 的 Hyper-V
Ubuntu 18.04.3

以下操作都假设在 root 用户下操作

Hyper-V 资源分配方案

资源
cpu 2 core
ram 4 GB
网卡 Hyper-V 虚拟网卡(桥接)
硬盘 光威悍将 480GB(直通)

选择桥接是因为我想把设备都放在一个子网下面
这个方案适合不移动的台式机 笔记本应该选择 NAT 方案

硬盘直通的原因是不想占用硬盘上的空间 正好有闲置硬盘
就直通进去了 坏处是不能享受虚拟机快照功能

分区方案

分区 磁盘格式 分区大小 btrfs 子卷 挂载点
/dev/sda1 fat32 2GB /boot
/dev/sda2 swap 8GB
/dev/sda3 btrfs 438GB rootfs /
homefs /home

boot 分区分配 2GB 的原因是我喜欢把内核放在 boot 分区
不希望因为多安装几个内核就需要手动移除旧版内核

swap 分区创建的原因是 linux 5.0 之前 btrfs 分区不支持使用 swapfile
现在稳定内核是 4.19.97 所以还是创建 swap 分区 防止编译爆内存

剩余空间使用 btrfs 文件系统的原因是我想剩余分区共享大小还能单独备份
最初在 ThinkPad t450s 上实现 FreeBSDGentoo 公用 zfs 分区的习惯保留下来

安装 Gentoo

分区与挂载

创建分区

分区创建 使用 fdisk

1
fdisk /dev/sda

格式化分区

1
2
3
4
5
6
# 格式化 boot 分区
mkfs.vfat -F32 /dev/sda1
# 格式化 btrfs 分区
mkfs.btrfs -f /dev/sda3
# 格式化 swap 分区
mkswap /dev/sda2

挂载分区

依据 Gentoo 安装文档 我们创建 /mnt/gentoo 分区并挂载相关分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 创建 /mnt/gentoo
mkdir -p /mnt/gentoo
# 挂载 btrfs 分区
mount /dev/sda3 /mnt/gentoo
# 创建 btrfs 子卷
cd /mnt/gentoo
btrfs subvol create rootfs
btrfs subvol create hometfs
# 解除 btrfs 分区挂载并挂载相应子卷
cd ..
umount /dev/sda3
mount /dev/sda3 /mnt/gentoo -o subvol=rootfs,compress=zstd,noatime,discard,ssd,space_cache
mkdir /mnt/gentoo/home
mount /dev/sda3 /mnt/gentoo/home -o subvol=homefs,compress=zstd,noatime,discard,ssd,space_cache
# 挂载 boot 分区
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
# 挂载 swap 分区
swapon /dev/sda2

-o 后面跟着 硬盘优化选项,如下表所示

硬盘类型 优化选项
SSD compress=zstd,noatime,discard,ssd,space_cache
HDD compress-force=zstd,noatime,autodefrag,space_cache

其中压缩选项我们选择了 facebookzstd
选用新潮压缩技术 做最炫酷的崽