Skip to main content

Gentoo Linux 安装及配置记录

SmartDeng...About 5 minLinuxGentooLinuxInstallation

Gentoo Linux 安装及配置记录

折腾病又犯了,于是装起了Gentoo,在archlinux下,靠着google和官方wiki,一次性就装好了systemd版的Gentoo。特此记录下安装的过程。

安装准备


  1. 一个正常运行的Linux
  2. 正常的互联网连接

分区与挂载

分区工具有很多,由于在已经可以运行的Linux下,可以选择的就更多了。图形界面的可以选择gparted。在按照自己的意愿分区之后,就可以正式进入安装步骤了。具体的分区操作应该不用赘述,折腾Gentoo的,分区应该是没问题的。下面假设将Gentoo安装在/dev/sda1上.

创建挂载目录

mkdir /mnt/gentoo

挂载

mount -v /dev/sda1 /mnt/gentoo

安装基础stage3

选择一个合适的镜像站,下载最新的stage3包,以下是国内几个镜像站:

USTCopen in new window

清华大学镜像open in new window

163open in new window

到镜像站中,进入/gentoo/releases/amd64/autobuilds/目录。

本文安装的systemd版,所以进入current-stage3-amd64-systemd/目录中,下载最新的stage3包下载。

如果不使用systemd,则进入没有systemd的目录中,下载对应的stage3.

将下载的stage3放置/mnt/gentoo目录,并解压(stage3后缀也可能是bz2):

tar vxpf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

配置make.conf和Portage

首先是 /mnt/gentoo/etc/portage/make.conf,

以下是我的USE参考,USE的配置可以参考wiki,按需配置:

VIDEO_CARDS :关于显卡,需要安装nvidia的,后面加上nvidia就行。

ABI_X86:需要开启32位支持的,把最后这一行注释取消就行。

其他选项根据gentoo wiki 按需配置。

# GCC
CFLAGS="-march=haswell -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
MAKEOPTS="-j5"

# USE
SUPPORT="pulseaudio btrfs mtp git udisks gvfs png jpg jpeg alsa client icu sudo python consolekit udev"
DESKTOP="X policykit fileroller cairo cups mount curl  dbus vim infinality emoji cjk"
REMOVE="-bindist -kde"

USE="${SUPPORT} ${DESKTOP} ${REMOVE}"

# Portage
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
# GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo/"
GENTOO_MIRRORS="https://mirrors.ustc.edu.cn/gentoo/"
EMERGE_DEFAULT_OPTS="--ask --verbose=y --keep-going --with-bdeps=y --load-average"
# FEATURES="${FEATURES} -userpriv -usersandbox -sandbox"
PORTAGE_REPO_DUPLICATE_WARN="0"
# PORTAGE_TMPDIR="/var/tmp/notmpfs"

ACCEPT_KEYWORDS="~amd64"
ACCEPT_LICENSE="*"

# Language
L10N="en-US zh-CN en zh"
LINGUAS="en_US zh_CN en zh"

# Else
VIDEO_CARDS="intel i965"

RUBY_TARGETS="ruby24 ruby25"

LLVM_TARGETS="X86"

QEMU_SOFTMMU_TARGETS="alpha aarch64 arm i386 mips mips64 mips64el mipsel ppc ppc64 s390x sh4 sh4eb sparc sparc64 x86_64"
QEMU_USER_TARGETS="alpha aarch64 arm armeb i386 mips mipsel ppc ppc64 ppc64abi32 s390x sh4 sh4eb sparc sparc32plus sparc64"
# ABI_X86="64 32"

portage 配置:

mkdir /mnt/gentoo/etc/portage/repos.conf
#### 添加/mnt/gentoo/etc/portage/repos.conf/gentoo.conf 文件:
[gentoo]
location = /usr/portage
sync-type = rsync
#sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage/
sync-uri = rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/
auto-sync = yes

开始安装

复制DNS

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

挂载必要的目录:

mount -t 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

fstab

偷懒的做法:

wget https://raw.githubusercontent.com/YangMame/Gentoo-Installer/master/genfstab
chmod +x genfstab
./genfstab -U /mnt/gentoo > /mnt/gentoo/etc/fstab

或者到archlinux官网下载arch-install-scripts,安装后就有genfstab命令了。通过这个可以很方便的生成fstab文件。

最后记得检查下 /mnt/gentoo/etc/fstab有没有问题,删除多余的部分,使用 lsblk -f 查看UUID是否正确。

chroot

chroot /mnt/gentoo /bin/bash
source /etc/profile

选择Profile并更新系统

更新Portage:

emerge-webrsync

使用rsync同步:

emerge --sync

列出profile:

eselect profile list

选择自己喜欢的profile,不用systemd则选择不带systemd字样的profile,使用以下命令配置:

eselect profile set X

将X替换成自己选择的profile的序号。

开始更新:

emerge -auvDN --with-bdeps=y @world

在漫长的更新之后,循环执行如下,直到最后输出都没有变化:

emerge @preserved-rebuild
perl-cleaner --all
emerge -auvDN --with-bdeps=y @world

安装全程如果出现提示更新配置文件,执行:

etc-update

输入-3回车,再y回车即可。

CPU_FLAGS_X86配置:

emerge --ask app-portage/cpuid2cpuflags
cpuid2cpuflags

配置时区和地区

echo "Asia/Shanghai" > /etc/timezone
emerge --config sys-libs/timezone-data

echo "en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8" >> /etc/locale.gen

locale-gen

eselect locale list

再通过eselect locale set X设置locale。

安装一些必要工具并配置

emerge app-admin/sysklogd sys-process/cronie sudo layman grub
sed -i 's/\# \%wheel ALL=(ALL) ALL/\%wheel ALL=(ALL) ALL/g' /etc/sudoers
passwd #是时候设置root密码了

systemd:

sed -i 's/\# GRUB_CMDLINE_LINUX=\"init=\/usr\/lib\/systemd\/systemd\"/GRUB_CMDLINE_LINUX=\"init=\/usr\/lib\/systemd\/systemd\"/g' /etc/default/grub
ln -sf /proc/self/mounts /etc/mtab
systemd-machine-id-setup

配置编译安装内核

使用gentoo wiki推荐的gentoo-sources:

emerge -av gentoo-sources

genkernel简单粗暴:

emerge -av genkernel
genkernel --menuconfig all
genkernel --install initramfs

基于当前运行的Linux内核配置:

cd /usr/src/linux
make localyesconfig
# 询问新选项,保持默认
make -jX #将X替换为你想编译时的线程数
make modules_install
make install
genkernel --install initramfs

没有手动配置过,就不说了。反正有了配置文件.config后,

make -jX #将X替换为你想编译时的线程数
make modules_install
make install
genkernel --install initramfs

安装GRUB并创建用户

UEFI:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo
grub-mkconfig -o /boot/grub/grub.cfg

新电脑一般都是UEFI,legacy参考wiki即可

用户和密码

passwd #设置或更改root用户密码 连续两次输入,密码不会显示
useradd -m -g users -s /bin/bash gentoo #添加新普通用户 gentoo是新建的用户名
passwd gentoo #设置或更改用户密码

添加用户到相应的组:

gpasswd -a gentoo wheel # 将gentoo用户添加到wheel组

sudo权限

chmod u+w /etc/sudoers
echo 'gentoo ALL=(ALL) ALL' >> /etc/sudoers #将gentoo加入sudo

检查

执行完以上步骤后,基础安装已经完毕,检查下系统有没有正确安装和配置后即可重启进入系统。

要想系统能够正确启动,确保boot目录内有相应文件,grub配置正确,fstab文件挂载分区配置正确。

确认无误后即可重启进入。或者,继续安装好图形界面后再重启。

图形化

安装xorg-server和显卡驱动:

emerge -av xorg-server
emerge xf86-video-intel #Intel显卡驱动
emerge nvidia-drivers #nvidia显卡驱动

我使用的awesome桌面:

emerge -av awesome rofi terminator nemo networkmanager nm-applet mate-power-manager
Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v3.1.3