gentoo安装教程
本文最后更新于29 天前,其中的信息可能已经过时,如有错误请发送邮件到mariohy.tech@outlook.com

gentoo安装教程

下载镜像

CD镜像可以从官方下载页或任意一个镜像站下载。


配置启动盘

使用软件配置该镜像的启动盘

或者在已有linux系统上dd写入U盘

  1. dd if=install-amd64-minimal-<发布时间戳>.iso of=/dev/sdd bs=4096 status=progress && sync

基础安装

网络配置

有线的不用配置,ping的通就行,例如ping archlinux.org
无线的可以使用以下命令配置网络

  1. net-setup

启动SSH服务

  1. rc-service sshd start

这样可以通过ssh进行连接操作
开启后记得设置一下密码,默认的livecd账户都是root

  1. passwd

查看ip

  1. ip -br a s

然后连接即可

分区

可以采用cfdiskpartedfdisk又或者gdisk
我这里模拟测试分的是30G

分区 大小
EFI 1G
swap 4G
/ 25G

cfdisk配置的话类型分别选择EFI、Linux Swap、Linux FileSystem
partedfdisk就不用管,一个类型标签而已,不影响,只是加了方便看而已,按规定大小分区就行

格式化分区

btrfsext4xfs文件系统个人习惯

  • btrfs有快照功能,更方便,但读写次数多,长期容易损坏硬盘,适用想频繁快照恢复的
  • ext4是非常常用的一种,稳定比较高,适用个人
  • xfs性能提升了一点,但是文件系统不能缩小,适用与服务器

这边我使用ext4

  1. sda 8:0 0 30G 0 disk
  2. ├─sda1 8:1 0 1G 0 part
  3. ├─sda2 8:2 0 4G 0 part
  4. └─sda3 8:3 0 25G 0 part

比如分区用以下命令
格式化EFI分区

  1. mkfs.vfat -F 32 /dev/sda1

格式化swap分区

  1. mkswap /dev/sda2

格式化/分区

  1. mkfs.ext4 /dev/sda3

挂载配置分区

启用swap分区

  1. swapon /dev/sda2

查看swap分区启用情况

  1. swapon -s

挂载/分区

  1. mount /dev/sda3 /mnt/gentoo

注:如果不存在/mnt/gentoo,可以采用如下命令创建

  1. mkdir --parents /mnt/gentoo

挂载EFI分区(这边用的是/efi,有三种/efi,/boot,/boot /boot/efi)
这里采用的是efi安装的就先创建先

  1. mkdir --parents /mnt/gentoo/efi
  1. mount /dev/sda1 /mnt/gentoo/efi

安装stage文件

Gentoo 的 stage 文件 是用于快速初始化系统安装的 预编译基础系统镜像,其核心作用是跳过最耗时的系统核心组件编译步骤,为后续手动配置和编译完整系统打下基础。
根据编译程度和用途,stage 文件主要分为以下几类,对应不同的安装需求:

  • stage3:最常用的类型,包含完整的基础系统(如内核、编译器、基础命令等),已预编译并可直接启动,适合绝大多数用户快速开始安装。
  • stage1/stage2:仅包含最核心的工具链(如GCC、binutils),需从源码逐步编译出完整基础系统,仅用于追求极致自定义(如特殊架构、最小化系统)的高级用户,普通用户无需使用。
  • stage4:非官方标准类型,通常是第三方制作的 “半成品”系统镜像(可能包含桌面环境、驱动等),旨在进一步简化安装,但兼容性和定制性不如官方 stage3。

首先移动到根

  1. cd /mnt/gentoo

date查看时间是否符合

  1. date

使用ntp来纠正时钟偏差

  1. chronyd -q

下载stage文件,例如本案例采用清华源的stage3的amd64-destop-systemd

  1. wget https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/20250831T170358Z/stage3-amd64-desktop-systemd-20250831T170358Z.tar.xz

解压一下

  1. tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo

配置编译选项

vim 编辑etc/portage/make.conf,不会用可以用nano

  1. vim etc/portage/make.conf

添加如下配置

  1. MAKEOPTS="-j12"
  2. GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo/"
  3. USE="systemd -elogind alas pipewire icu policykit udisks archive udev -gtk -gnome qt6 qt5 gtk4 gtk3 gtk2 kde alsa X xorg wayland opengl vulkan fcitx dist-kernel dbus openssl ffmpeg"
  4. VIDEO_CARDS="amdgpu radeonsi"
  5. ACCEPT_LICENSE="*"
  6. LINGUAS="en en_US zh zh_CN"
  7. L10N="en en-US zh zh-Hans zh-Hans-CN zh-CN"
  8. GRUB_PLATFORMS="efi-64"

注意:
MAKEOPTS:编译的线程数,最好取你的CPU逻辑核心数和已内存为单位的/2之间选一个小的
我这里8G内存,4核2线程也就是8线程。保守的话就3

  1. MAKEOPTS="-j4"

GENTOO_MIRRORS:设置为tuna清华源

USE

  • systemd 因为这里用的stage守护进程选的是systemd,用着优化更好,-elogind避免与systemd冲突
  • pipewire是音频守护进程
  • policykit事关权限要加
  • archive文件管理器
  • -gtk -gnome kde意思是不用gnome桌面环境,用kde。用gnome的话就是-gtk gnome -kde
  • X xorg图形化显示协议,新的一种是wayland,但兼容性没有xorg好,都开
  • vulkan 对显卡的一些优化
  • fcitx输入法
  • openssl可以选依赖
  • ffmpeg对音频进行优化

VIDEO_CARDS
这个可以在gentoo wiki安装选择适合自己的

gentoo wiki VIDEO_CARDS:
https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/en#VIDEO_CARDS

这边我intel,我改为

  1. VIDEO_CARDS="intel"

ACCEPT_LICENSE:*,所有的证书都允许,省事

GRUB_PLATFORMS:grub boot lodaer引导的设置


可以修改添加一下COMMON_FLAGS,对cpu进行一下优化,O2是比较保守的优化,激进一点就O3,-pipe指用管道进行编译,会加快速度,但是对内存有要求

  1. COMMON_FLAGS="-march=native -O2 -pipe"

加上-finline-functions

  1. COMMON_FLAGS="-march=native -O2 -pipe -finline-functions"

要加-fgraphito-identity如下参数,还要新建编辑一个文件etc/portage/package.use/gcc,vim编辑添加

  1. sys-devel/gcc graphite

这里我就不加了,比较慢

可以加-fno-math-errno -fno-trapping-math,对浮点进行优化

  1. COMMON_FLAGS="-march=native -O2 -pipe -finline-functions -fno-math-errno -fno-trapping-math"

Chrooting

复制DNS信息

  1. cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

可以arch脚本移动到root

  1. arch-chroot /mnt/gentoo

有些发行版会将/dev/shm链接到 /run/shm/,官方的这个min不用,如果是链接这种情况就得配置如下操作

  1. test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
  2. mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
  3. chmod 1777 /dev/shm /run/shm

进入新环境

  1. chroot /mnt/gentoo /bin/bash
  2. source /etc/profile
  3. export PS1="(chroot) ${PS1}"

配置Portage

更新一下webrsync,从网络安装 Gentoo ebuild 仓库快照

  1. emerge-webrsync

阅读新闻条目

  1. eselect news list
  2. eselect news read

选择正确的配置文件

  1. eselect profile list

这里的默认选择,适合hyperland

  1. [4] default/linux/amd64/23.0/desktop/systemd (stable) *

这边我改选为

  1. eselect profile set 7
  1. [7] default/linux/amd64/23.0/desktop/plasma (stable) *

更新@world集合

  1. emerge --ask --verbose --update --deep --changed-use @world

报错了
解决media-video/pipewire 包存在未满足的依赖约束

  1. # 新建 pipewire 配置文件
  2. nano /etc/portage/package.use/pipewire
  3. # 为 pipewire 启用 extra USE 标志,匹配 ffmpeg 依赖
  4. media-video/pipewire extra

解决软件包循环依赖问题,核心是 ffmpeg、libsdl2、pipewire 三者之间形成了依赖闭环

  1. # 新建 sdl2 配置文件
  2. nano /etc/portage/package.use/sdl2
  3. # 临时关闭 libsdl2 的 pipewire 依赖,解决循环依赖问题
  4. media-libs/libsdl2 -pipewire

重新执行更新命令,优先安装循环中的包

  1. emerge --ask --verbose --update --deep --changed-use @world

安装完成后恢复 libsdl2 的 pipewire 支持

  1. # 编辑 sdl2 配置文件,删除或注释掉那一行
  2. nano /etc/portage/package.use/sdl2
  3. # 保存退出后,重新更新一次 libsdl2 即可
  4. emerge --ask --verbose media-libs/libsdl2

删除没用的包

查看输出,是否确定删除

  1. emerge --ask --pretend --depclean

happy,那就删除

  1. emerge --ask --depclean

设置时区

  1. ln -sf ./usr/share/zoneinfo/Asia/Shanghai /etc/localtime

生成时区设置

  1. nano /etc/locale.gen
  2. # 加上
  3. en_US.UTF-8 UTF-8
  4. zh_CN.UTF-8 UTF-8

运行locale-gen命令,生成/etc/locale.gen文件中的所有指定的地区

  1. locale-gen

现在当前配置

  1. eselect locale list

更改配置,我这里的4是en_US

  1. eselect locale set 4

现在重新加载环境

  1. env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

安装内核

编辑/etc/portage/package.use/installkernel

  1. nano /etc/portage/package.use/installkernel
  2. sys-kernel/installkernel grub

更新配置文件

  1. dispatch-conf

安装

  1. emerge --ask sys-kernel/gentoo-kernel

安装固件和微码

安装Linux Firmware

  1. emerge --ask sys-kernel/linux-firmware

安装SOF Firmware

  1. emerge --ask sys-firmware/sof-firmware

安装intel的微码

  1. emerge -av sys-firmware/intel-microcode

配置fstab文件

便捷的方法:安装genfstab工具自动生成

  1. emerge -av sys-fs/genfstab

生成分区信息

  1. genfstab /

以UUID的方式挂载生成分区信息

  1. genfstab -U /

输出到fstab

  1. genfstab -U / > /etc/fstab

配置主机名

例如galaxy

  1. echo galaxy > /etc/hostname

配置dhcp

安装dhcp包

  1. emerge --ask net-misc/dhcpcd

确保systemd中启用服务

  1. systemctl enable dhcpcd

设置root密码

  1. passwd

启用sshd

  1. systemctl enable sshd

Shell补全安装和启用

  1. emerge --ask app-shells/bash-completion

安装时间同步包

安装

  1. emerge --ask net-misc/chrony

启用时间同步服务

  1. systemctl enable chronyd.service

文件系统工具

ext4工具下载

  1. emerge -av sys-fs/e2fsprogs

XFS工具下载

  1. emerge -av sys-fs/xfsprogs

btrfs工具下载

  1. emerge -av sys-fs/btrfs-progs

VFAT工具下载

  1. emerge --av sys-fs/dosfstools

建议安装 sys-block/io-scheduler-udev-rules 以确保与例如 nvme 设备等正确的调度器行为

  1. emerge --ask sys-block/io-scheduler-udev-rules

grub工具安装

  1. emerge --ask --verbose sys-boot/grub

如果要多系统检测引导的话,需要安装我们熟知os-prober

  1. emerge -av os-prober

安装grub引导器

  1. grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=gentoo

生成配置grub配置文件

  1. grub-mkconfig -o /boot/grub/grub.cfg

重启之前,可以创建一个用户

  1. useradd -m -G users,wheel,audio -s /bin/bash 用户名

设置一下密码

  1. passwd 用户名

给wheel组开放管理员权限

  1. visudo
  2. %wheel ALL=(ALL:ALL) ALL

安装sudo工具

  1. emerge --ask app-admin/sudo

删除stage文件(可选)

  1. rm /stage3-*.tar.*

安装图形化界面

安装完整的kde桌面

  1. # 安装完整 KDE 桌面(包含 Plasma、常用工具)
  2. emerge -av kde-plasma/plasma-meta

安装Xorg

  1. 安装 Xorg 服务器(图形化基础)
  2. emerge -av x11-base/xorg-server

安装sddm

  1. 安装 SDDMKDE 官方显示管理器,systemd 兼容)
  2. emerge -av sys-apps/sddm

设置sddm为默认配置

  1. # 设置 SDDM 为默认显示管理器(生成 systemd 配置)
  2. echo "DISPLAYMANAGER=sddm" > /etc/conf.d/display-manager

启用sddm服务

  1. # 启用并启动 SDDM 服务(开机自启 + 立即生效)
  2. systemctl enable --now sddm.service
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇