Gentoo安装指南
fcanlnony

声明:虽然本教程适于台式和笔记本电脑安装,但更多则会偏向台式电脑。

参考文献:https://wiki.gentoo.org/wiki/Handbook:AMD64/zh-cn

注:本人使用UEFI+GPT,CPU为奔腾G2020(amd64),需各位按照实际情况来,不可照搬

开始之前

首先你需要用fdisk或cfdisk提前分好区,然后挂载分区

  • root # mkfs.ext4 /dev/sdx (sdx改成你的分区形式例如sda1) //准备根分区

  • root # mkswap /dev/sdx && swapon /dev/sdx //激活swap分区

  • root # mount /dev/sdx /mnt/gentoo //挂载根分区

  • root # mkfs.vfat -F 32 /dev/sdx //格式化boot分区

使用dhcpcd来配置网络以及ntpd -q -g来同步时间

准备工作

选择stage包,在镜像站的/gentoo/releases/(这里是自选适合你的架构,我这里以amd64(x86_64)为例)/autobuilds/然后找到带有current-stage3-amd64-desktop-openrc的进去找到stage3-amd64-desktop-openrc-*******(数字随日期而变).tar.xz下载

//可以直接root #cd /mnt/gentoo然后使用links下载,然后

  • root # tar xpvf stage3-.tar.bz2 –xattrs-include=’.*’ –numeric-owner

  • root # nano -w /mnt/gentoo/etc/portage/make.conf

然后设置MAKEOPTS=”-jx” //通常x为CPU核心数+1,如果内存小的可以去掉-pipe,也可以将COMMON_FLAGS的-O2设置为-O3

安装基本系统

可以编辑/mnt/gentoo/etc/portage/make.conf修改源,例如(中科大源为例)GENTOO_MIRRORS=”https://mirrors.ustc.edu.cn/gentoo/

同时

  • root # mkdir –parents /mnt/gentoo/etc/portage/repos.conf && cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

//可以选择编辑/mnt/gentoo/etc/portage/repos.conf/gentoo.conf修改(依旧拿中科大源为例)sync-uri = rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/

  • root # cp –dereference /etc/resolv.conf /mnt/gentoo/etc/ //复制DNS

  • root # mount –types proc /proc /mnt/gentoo/proc && mount –rbind /sys /mnt/gentoo/sys && mount –rbind /dev /mnt/gentoo/dev //挂载必要的文件系统

  • root # chroot /mnt/gentoo /bin/bash && source /etc/profile && export PS1=”(chroot) ${PS1}” //进入新环境

  • root # mount /dev/sda1 /boot //挂载boot分区

  • root # emerge-webrsync && emerge –sync //同步ebuild

  • root # eselect profile list //列出profile

//这里建议选default/linux/amd64/17.1/desktop (stable) 安装好后再选别的

  • root # eselect profile set x //这里x改为你要选profile的数字

编辑/etc/portage/make.conf添加全局USE

在/etc/portage/make.conf加入以下行
USE=”-gtk -gnome qt5 kde dvd alsa cdr” //这里是为KDE/Plasma提供支持(DVD,ALSA,CD

//为了安装软件方便(有些软件需要接受许可证为了方便我这里就直接全接受)也可以加上ACCEPT_LICENSE=”*”

  • root # emerge –ask –verbose –update –deep –newuse @world //更新world集合

注意:
[1]这里harfbuzz与freetype可能会形成循环依赖,USE=”-harfbuzz” emerge -a freetype再执行以上
[2]先emerge -a rust-bin再@world集合可以节省很多时间

  • root # echo “Asia/Shanghai” > /etc/timezone && emerge –config sys-libs/timezone-data //配置时区

  • root # nano -w /etc/locale.gen

添加以下:

en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8

  • root # locale-gen

  • root # eselect locale list

  • root # eselect locale set x //建议这里选en_US.UTF-8

然后编辑/etc/env.d/02locale

LANG=”en_US.UTF-8”
LC_COLLATE=”C”

  • root # env-update && source /etc/profile && export PS1=”(chroot) ${PS1}” //重新加载环境

安装内核

  • root # emerge –ask sys-kernel/gentoo-sources && eselect kernel set 1 //安装内核源码,如果安装了多份源码注意set为你想编译的内核的源码

  • root # cd /usr/src/linux

//如果想手动配置看:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/zh-cn

//可以安装gentoo-kernel获得一份配置

//如果想省事直接make allmodconfig或make allyesconfig

  • root # make -jx && make modules_install //x自己改数字

  • root # make install //安装内核

另一条路

  • root # emerge sys-kernel/gentoo-kernel-bin

配置系统

  • root # nano -w /etc/fstab //编辑fstab||blkid可列出所有分区

//fstab用默认就好,将UUID修改为/dev/sdx的形式,改/boot的ext2为vfat

另一条路

  • root # emerge genfstab
  • root # genfstab -U / > /etc/fstab

继续配置

  • root # nano -w /etc/conf.d/hostname

//设置主机名,把tux修改为你的主机名

hostname=”tux”

  • root # nano -w /etc/conf.d/net //设置域名,如果不需要设置,修改/etc/issue删除.\O

dns_domain_lo=”homenetwork”

  • root # emerge –ask –noreplace net-misc/netifrc

  • root # nano -w /etc/conf.d/net

config_eth0=”192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255”

routes_eth0=”default via 192.168.0.1”

config_eth0=”dhcp”

  • root # nano -w /etc/hosts

//定义的是现在系统

127.0.0.1 tux.homenetwork tux localhost //记得改相应的主机名

//定义你网络上的其它系统

192.168.0.5 jenny.homenetwork jenny

192.168.0.6 benny.homenetwork benny

也可以默认:

127.0.0.1 localhost
::1 localhost

  • root # passwd

  • root # nano -w /etc/conf.d/hwclock

修改clock=”UTC”为clock=”local”

安装工具

  • root # emerge –ask app-admin/sysklogd && rc-update add sysklogd default //系统日志工具

  • root # emerge –ask net-misc/dhcpcd //安装dhcpcd

  • root # rc-update add dhcpcd //添加dhcpcd为开机自启

配置引导

  • root # emerge -a grub

  • root # grub-install –target=x86_64-efi –efi-directory=/boot //如果主板只支持EFI系统分区(ESP)中.EFI文件的 /efi/boot/目录,加–removable

  • root # grub-mkconfig -o /boot/grub/grub.cfg

  • root # exit

  • cdimage ~# cd

  • cdimage ~# umount -l /mnt/gentoo/dev{/shm,/pts,}

  • cdimage ~# umount -R /mnt/gentoo

  • cdimage ~# reboot