裸机部署Gentoo需全程源码编译:一、准备环境,下载校验stage3与ISO,分区挂载;二、解压stage3并挂载虚拟文件系统;三、chroot后配置make.conf与编译参数;四、手动配置编译安装内核;五、安装配置GRUB并初始化系统。

如果您打算在裸机上部署 Gentoo Linux,必须通过源码编译完成全部系统构建,该过程不依赖预编译二进制包,所有组件均从官方 Portage 树拉取并本地编译。以下是完整、可执行的源码安装流程:
一、准备安装环境与基础介质
安装 Gentoo 前需获取最小化安装媒介,并确保硬件满足基本编译需求。该步骤为后续 chroot 和 emerge 操作提供运行基础。
1、从 Gentoo 官网下载最新 stage3 tarball 与 minimal installation ISO,校验 SHA512 签名确保完整性。
2、将 minimal ISO 写入 USB 设备(使用 dd 或 ventoy),启动目标机器进入 Live 环境。
3、执行 ip addr 确认网络连通,运行 ping -c 3 www.gentoo.org 验证 DNS 与路由正常。
4、使用 fdisk 或 parted 对磁盘分区,至少划分 /boot(fat32)、/(ext4)、swap 三区,格式化后挂载至 /mnt/gentoo。
二、解压 stage3 并配置基础系统
stage3 是预编译的基础系统骨架,包含必要工具链和 Portage,是编译全过程的起点。其内容决定后续 GCC、glibc 等核心组件的初始版本与 ABI 兼容性。
1、访问 https://distfiles.gentoo.org/releases/amd64/autobuilds/(或对应架构路径),下载最新 stage3 tarball。
2、执行 tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo 解压至挂载点。
3、复制当前 DNS 配置: cp --dereference /etc/resolv.conf /mnt/gentoo/etc/。
4、挂载必要虚拟文件系统: mount --types proc /proc /mnt/gentoo/proc;mount --rbind /sys /mnt/gentoo/sys;mount --make-rslave /mnt/gentoo/sys;mount --rbind /dev /mnt/gentoo/dev;mount --make-rslave /mnt/gentoo/dev。
三、进入 chroot 并设置编译参数
chroot 环境隔离了宿主 Live 系统,使所有操作在目标根文件系统中进行。CFLAGS、CXXFLAGS、MAKEOPTS 等变量直接影响编译速度、优化级别及生成二进制的稳定性。
1、执行 chroot /mnt/gentoo /bin/bash 进入新环境。
2、运行 source /etc/profile 并执行 export PS1="(chroot) ${PS1}" 更新提示符。
3、编辑 /etc/portage/make.conf,设置 CPU 架构对应 CHOST(如 x86_64-pc-linux-gnu),添加 CFLAGS="-O2 -pipe -march=native",启用 MAKEOPTS="-j$(nproc)"。
4、创建 /etc/portage/package.env 并配置 sys-devel/gcc 使用 gcc-defaults 环境以避免引导阶段编译失败。
四、配置并编译内核
Gentoo 要求手动配置 Linux 内核,确保驱动、文件系统、网络协议栈等模块与实际硬件严格匹配,避免运行时缺失功能或加载冗余模块。
1、执行 emerge --ask sys-kernel/gentoo-sources 安装内核源码。
2、执行 cd /usr/src/linux && make menuconfig,启用 CONFIG_EXT4_FS、CONFIG_DEVTMPFS、CONFIG_SYSFS、CONFIG_PROC_FS 及主板芯片组对应 SATA/USB/NIC 驱动。
3、运行 make -j$(nproc) && make modules_install && make install 编译并安装内核镜像、System.map 与 initramfs。
4、验证 /boot/vmlinuz-*、/boot/System.map-*、/boot/initramfs-* 已存在,且 /lib/modules/$(uname -r) 目录非空。
五、安装引导程序与完成系统初始化
引导程序负责加载内核与 initramfs,其配置错误将导致系统无法启动。Gentoo 支持 GRUB、Syslinux、systemd-boot 等多种方案,此处以 GRUB 为例。
1、执行 emerge --ask sys-boot/grub:2 安装 GRUB。
2、运行 grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Gentoo(UEFI 模式)或 grub-install /dev/sda(BIOS 模式)。
3、生成配置文件: grub-mkconfig -o /boot/grub/grub.cfg,检查输出中是否识别到已安装内核条目。
4、设置 root 密码: passwd;安装基础系统服务: emerge --ask sys-apps/systemd(若选用 systemd)或 emerge --ask sys-apps/openrc(若选用 OpenRC);退出 chroot 并重启: exit && umount -R /mnt/gentoo && reboot。










