Gentoo(Gnome+Systemd)安装教程(写在2018年11⽉11⽇)
系统环境:UEFI + GPT
分区⽅案:EFI分区、swap、根分区
开启SSH
使⽤install-amd64-minimal-20181104T214503Z.iso引导开机(2018年10⽉之后发布的最⼩CD⽀持UEFI引导)启动ssh服务:rc-service sshd start
passwd设置root密码,否则⽆法远程登录
分区
gdisk /dev/sda
3个分区:EFI分区,fat32格式,500M;swap分区,和内存⼤⼩⼀样;/分区。
查看硬盘分区lsblk
格式化分区
mkfs.vfat -F 32 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
<4 /dev/sda3
挂载分区
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
安装stage3包
date(检查时间设置)
date 100313162018(2018年10⽉3⽇的13:16)
cd /mnt/gentoo
(请根据⾃⼰的情况下载相应的stage3包)
tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
tar xjvf stage3-amd64-systemd-20181108.tar.bz2 --xattrs-include='*.*' --numeric-owner
配置f和Portage Mirror
vim /mnt/gentoo/etc/f
以下参数在经过⾃⼰调整或选择之后加⼊到 /mnt/gentoo/etc/f
USE: ⾸先,你可以删掉默认的USE标记,加上-bindist (不了解USE的情况下建议如此)
CFLAGS: 将CFLAGS修改为CFLAGS="-march=native -O2 -pipe" 或者你也可以指定.例如我的Intel CPU是haswell,将native换成haswell就⾏(不确定就不要指定).你也可以在这⾥看到所有可以设置的值
MAKEOPTS: 根据你的CPU核⼼数设置MAKEOPTS例如双四线程设置为MAKEOPTS="-j4"(这个数值要根据你的CPU核⼼数和内存来设置:CPU物理核⼼数*每个核⼼线程数,每个GCC的任务⼤约需
要1—1.5G内存,如果你只有4G内存,这⾥就只能设置为3了)
GENTOO_MIRRORS: 设置为GENTOO_MIRRORS="mirrors.ustc.edu/gentoo/" (也可以在后⾯的步骤使⽤mirrorselect,选择速度最快的Mirror)
EMERGE_DEFAULT_OPTS: 设置为EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y"是个不错的选择,keep going意为安装⼀堆软件时遇到编译错误⾃动跳过这个软件继续编译安装
FEATURES: 在这⾥最好写成# FEATURES="${FEATURES} -userpriv -usersandbox -sandbox",最好在前⾯加上#注释掉,在你编译软件遇到权限不⾜时去掉注释即可解决问题(但请务必注意是不是因为rm -rf /* 等命令权限不⾜,因为说不定你的ebuild⽂件被篡改了)
ACCEPT_KEYWORDS: 如果你想⽤作桌⾯/学习/开发系统那就务必加上ACCEPT_KEYWORDS="~amd64",服务器/⼯作/家/娱乐⽤可以忽略
ACCEPT_LICENSE: 加上ACCEPT_LICENSE="*"表⽰此系统接受所有软件许可证,即不论⾮⾃由还是⾃由软件都接受,⾮商业⽤户基本不需要考虑
L10N: 设置为L10N="en-US zh-CN en zh"
LINGUAS: 设置为LINGUAS="en_US zh_CN en zh"
VIDEO_CARDS: 根据你的显卡类型设置假如你是NVIDIA单显卡则设置为VIDEO_CARDS="nvidia"(闭源驱动)VIDEO_CARDS="nouveau"(开源驱动).还有radeon和intel,但如果你是双显卡例如Intel+NVIDIA则设置为VIDEO_CARDS="intel i965 nvidia"(只要不是远古的集成显卡都是⽤i965),VMware则设置为VIDEO_CARDS="vmware"
GRUB_PLATFORMS: 如果你使⽤GRUB且使⽤UEFI启动则添加GRUB_PLATFORMS="efi-64"
CPU_FLAGS_X86=“aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3”
Portage Mirror: 这个不是f的选项.mkdir /mnt/gentoo/etc/f创建f⽬录并添加如下
到/mnt/gentoo/etc/f⽂件⾥⾯(⾃⾏选择速度最快的镜像站):
[gentoo]
location = /usr/portage
sync-type = rsync
\#sync-uri = rsync://mirrors.tuna.tsinghua.edu/gentoo-portage/
sync-uri = rsync://rsync.mirrors.ustc.edu/gentoo-portage/ auto-sync = yes
选择镜像站点:
mirrorselect -i -o >> /mnt/gentoo/etc/f
(如果在f中定义了GENTOO_MIRRORS变量,这步可以省略)复制DNS
cp --dereference /f /mnt/gentoo/etc/
挂载必要的⽂件系统
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 /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
挂载 boot 分区
mkdir /boot
mount /dev/sda1 /boot
配置Portage
从⽹站安装ebuild 数据库快照
emerge-webrsync
Optional: 更新Portage ebuild 数据库
emerge --sync
emerge --ask app-portage/cpuid2cpuflags
cpuid2cpuflags #将输出值改⼊CPU_FLAGS_X86
选择正确的配置⽂件
eselect profile list
eselect profile set 2
perl下载安装教程更新@world集合
emerge --ask --verbose --update --deep --newuse @world
如果碰到未满⾜的xxx或者其它提⽰
emerge -auvDN --with-bdeps=y --autounmask-write @world
etc-update # 然后输⼊-3就能更新配置,确保再次运⾏时没有可更新的⽂件
emerge -auvDN --with-bdeps=y @world
如果以上还是不能解决问题,则进⼊/etc/portage⽬录删掉package.use,package.mask和package.unmask⽂件或⽬录再次尝试等它跑完了,先别急
运⾏下这⼏个命令:
emerge @preserved-rebuild
perl-cleaner --all
emerge -auvDN --with-bdeps=y @world
配置时区
echo "Asia/Shanghai" > /etc/timezone
emerge --config sys-libs/timezone-data
配置地区
echo "en_US.UTF-8 UTF-8" >> /
echo "zh_CN.UTF-8 UTF-8" >> /
locale-gen
eselect locale list
eselect locale set X # X换成上⾯命令显⽰的序号
这⾥建议使⽤英语易于排错,之后你可以⾃⾏换成中⽂
~~~~~~~~~~~~~~~~这个⼯具⽣成的参数⽐较详细~~~~~~~~~~~~~~~~
配置fstab( /index.php/Fstab )如果你和我⼀样懒
chmod +x genfstab
(可选 cp genfstab /usr/bin/)
./genfstab / > /etc/fstab
nano /etc/fstab #最好检查下此⽂件,删掉⽆⽤挂载点
(上⾯的脚本在chroot环境下不能正常使⽤-U参数在fstab写⼊分区的UUID)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在/etc/conf.d/hostname内修改主机名,例如:
echo hostname=\"Aardvark\" > /etc/conf.d/hostname
设置Root密码
使⽤passwd命令设置root密码。
安装⼀些必要⼯具并配置
如果你使⽤⾮ext4⽂件系统则在编译内核前需要另外安装相应的⼯具:例如fat⽂件系统所需的sys-fs/dosfstools包。
emerge app-admin/sysklogd sys-process/cronie sudo layman grub sys-fs/dosfstools net-misc/dhcpcd
还需补充
sed -i 's/\# \%wheel ALL=(ALL) ALL/\%wheel ALL=(ALL) ALL/g' /etc/sudoers
如果你是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
配置编译安装内核
emerge --ask sys-kernel/gentoo-sources
emerge -av genkernel
genkernel --menuconfig all
genkernel --install initramfs
安装GRUB
如果你是UEFI:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论