在VirtualBox里安装Gentoo Linux基本系统(amd64+UEFI引导+GPT分区)和Plasma桌面环境

20191010

 

目录

Gentoo Linux

下载

在VirtualBox里安装Gentoo Linux基本系统(amd64+UEFI引导+GPT分区)

#参考

#注意

#准备

#VirtualBox设置

#进入livecd,启动SSH

#分区、格式化、挂载

#配置网络

#设置时间,解压stage3-amd64.tar.xz和portage.tar.bz2

#配置编译选项

#配置Gentoo ebuild 软件仓库

#挂载必要的文件系统

#进入新环境

#配置Portage

#更新@world集合

#配置USE变量

#时区

#配置地区

#查询、设置时间(必要)

#重新加载环境

#安装源码

#默认:手动配置

#使用genkernel自动配置(生手或虚拟机推荐)

#网络信息

#设置主机名

#域名

#配置网络

#hosts 文件

#系统信息

#设置root密码

#时钟设置

#系统日志工具

#可选:Cron守护进程

#可选:文件索引

#可选:远程访问

#可选:文件系统工具

#网络工具

#安装DHCP客户端

#可选:安装无线网络工具

#选择引导器

#默认:GRUB2

#重启系统

#用户管理

#虚拟机备份

修复引导

#用livecd启动修复VritualBox的UEFI引导错误(Grub2)

#用livecd启动修复引导错误(Grub2)

#系统内修复引导(Grub2)

安装Gentoo Linux+Plasma桌面环境

#参考

#准备

#KDE

#配置

#重启

#服务

#安装xorg-drivers

#安装xorg-server

#安装plasma-meta

#安装kde-frameworks

#重启

#登录Gentoo Linux(Plasma桌面环境)


==================================================

Gentoo Linux

Gentoo Linux

Gentoo source mirrors

Gentoo Packages

==================================================

下载

官方镜像(amd64):(缓慢,迅雷下载)

Minimal Installation CD: http://distfiles.gentoo.org/releases/amd64/autobuilds/

Hybrid ISO (LiveDVD): https://gentoo.osuosl.org//releases/amd64/

Gentoo Packages:https://mirrors.evowise.com/gentoo//releases/snapshots/current/

国内镜像

Netease.com, Inc. http://mirrors.163.com/gentoo/
Tsinghua University https://mirrors.tuna.tsinghua.edu.cn/gentoo


国内镜像(amd64):(推荐,但可能不是最新,迅雷下载)

Minimal Installation CD: http://mirrors.163.com/gentoo/releases/amd64/autobuilds/

Hybrid ISO (LiveDVD): http://mirrors.163.com/gentoo/releases/amd64/

Gentoo Packages:http://mirrors.163.com/gentoo/releases/snapshots/current/

Gentoo Linux 手册(amd64):https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/zh-cn

GNOME安装指南:https://wiki.gentoo.org/wiki/GNOME/Guide/zh-cn

KDE安装指南:https://wiki.gentoo.org/wiki/KDE/zh-cn

度盘:https://pan.baidu.com/s/16CKZV1maNJRY8F54N5QzYQ 
提取码:ucx9 
==================================================

在VirtualBox里安装Gentoo Linux基本系统(amd64+UEFI引导+GPT分区)

#参考

Gentoo Linux 手册

根据Gentoo handbook安装——gentoo基本系统+UEFI引导

从零开始安装Gentoo

Gentoo安装手记

Ubuntu 16.04引导错误修复

VirtualBox在UEFI模式下无法正常引导

Deepin安装VirtualBox扩展包

Gentoo Linux KDE 环境安装1

Gentoo Linux KDE 环境安装2

【教程】Gentoo的安装

#注意

1、重启之前,你发现已经耗费数个或数十个小时!(所以用虚拟机的好处是可以暂停和休眠)

2、安装教程中黑色图框里的命令一步一步执行,就可以完成Gentoo的最小安装(非图形化),其中包括可选部分。其他未明显标识的命令和描述作为扩展参考。

3、VirtualBox6.0在安装完Gentoo后,poweroff,再启动,只显示UEFI Interactive Shell画面,教程中有解决方法。

 

#准备

#创建Gentoo虚拟机
1.4GB内存(默认1GB安装过程够用)
2.32GB硬盘(默认8GB)

PS:
1、vdi文件是可以改名字的,但是改名字之前需要在 管理 -> 虚拟介质管理器,选中vdi文件,释放  -> 删除 -> 保留,vdi文件改名字后,在 虚拟介质管理器 注册,然后在虚拟机存储设置里重新挂载。
2、虚拟机 .vbox 文件导入,控制 -> 注册。

#VirtualBox设置

1.管理 -> 全局设定 -> 扩展,安装官方的Oracle_VM_VirtualBox_Extension_Pack
(Deepin下需要运行gksu-properties,将认证模式由su改为sudo)

#VirtualBox的Gentoo设置
1.常规 -> 系统 -> 主板,开启EFI; -> 主板,选择与实际相同的核心数。
2.常规 -> 显示,显存大小128M。
3.常规 -> 存储,控制器选中 使用主机输入输出(I/O)缓存;*.vdi磁盘如果是固态请选中 固态驱动器。
4.常规 -> 网络 -> 网卡1 -> 高级 -> 端口转发,配置本机转发端口号(例如9022)和虚拟机SSH端口号(默认为22)。
5.常规 -> USB设备,按实际硬件选择控制器。


#下载Minimal Installation CD,Hybrid ISO (LiveDVD),Stage 3,Portage
install-amd64-minimal-*.iso
livedvd-amd64-multilib-*.iso
stage3-amd64-*.tar.xz
portage-*.tar.bz2


#使用ISO编辑软件(UltraISO、Rufus)将官方下载的 stage3-amd64.tar.xzportage.tar.bz2 放入 install-amd64-minimal.iso 和livedvd-amd64-multilib-*.iso里,并设定为VritualBox光盘镜像(节省下载时间)

#使用软件将ISO写入USB,如Windows下的UltraISO、Rufus,Linux下的WoeUSB

#Linux下使用命令将ISO写入USB

if=ISO路径 of=USB路径

#进入livecd,启动SSH

#启动Gentoo虚拟机,进入livecd

livecd ~ # 


#设置LiveCD的root密码, 方便使用ssh方式进行安装

passwd

#启动sshd, 使用ssh方式进行安装(这样就可以复制粘贴了,否则你只能手动输入命令……)

/etc/init.d/sshd start

#使用终端连接虚拟机(例如Finalshell)

ssh -p 9022 [email protected]

#或者
ssh -p 9022 root@localhost
 

#分区、格式化、挂载

#默认分区方案

分区 文件系统 大小 描述
/dev/sda1 (bootloader) 2M BIOS boot partition
/dev/sda2 ext2 (or fat32 if UEFI is being used) 128M Boot/EFI system partition
/dev/sda3 (swap) 512M or higher Swap partition
/dev/sda4 ext4 Rest of the disk Root partition

#用fisk命令查看磁盘挂载情况

fdisk -l

#得知系统磁盘的分区
Disk /dev/sda: 32GiB

#用parted对/dev/sda磁盘进行分区

parted /dev/sda

#变更

(parted)

#查看分区情况

print

#格式化整个磁盘为gpt分区格式(GUID Partition Table)

mklabel gpt

#提示改变分区类型将会移除磁盘上的所有分区,磁盘上的所有数据也将丢失,输入 y 继续执行

#启动分区分配2M,1号grub分区,设置bios_grub启动

mkpart primary 1M 3M
name 1 grub
set 1 bios_grub on

#引导分区分配128M,2号boot分区,设置boot启动(与WIN10共存时,不需要再创建EFI分区)

mkpart primary 3M 131M
name 2 boot
set 2 boot on

#交换分区分配512M(或取1倍的内存容量)

mkpart primary 131M 643M
name 3 swap

#剩下空间分配给根分区

mkpart primary 643M -1
name 4 rootfs

#检查分区情况并退出parted

print
quit


#格式化分区(ESP分区为Fat32格式)(与WIN10共存时,不要mkdir格式化已有的EFI分区)

mkfs.ext2 /dev/sda1
mkfs.fat -F 32 /dev/sda2
mkfs.ext4 /dev/sda4

#格式化并启用swap

mkswap /dev/sda3
swapon /dev/sda3

#进入parted检查分区情况并退出

parted /dev/sda
print
quit


#挂载分区

mount /dev/sda4 /mnt/gentoo

#创建并挂载/boot/efi(不同于官方的/boot,是为了与WIN10共存)

mkdir -p /mnt/gentoo/boot/efi
mount /dev/sda2 /mnt/gentoo/boot/efi

#配置网络

#自动配置网络

#查看网络标识(VirtualBox里是enp0s3)

ifconfig

#配置网络(选择DHCP)

net-setup enp0s3

#可选:使用PPTP
#编辑/etc/ppp/pap-secrets或/etc/ppp/chap-secrets让它包含正确的用户名/密码组合
nano -w /etc/ppp/chap-secrets
nano -w /etc/ppp/options.pptp
pptp <server ip>

#手动配置网络
#如果net-setup或pppoe-setup都失败,需要手动加载合适的内核模块。
#找出内核模块提供网络
root #ls /lib/modules/`uname -r`/kernel/drivers/net
#比如,要加载pcnet32模块
modprobe pcnet32
#检查网卡,比如eth0
ifconfig
ifconfig eth0
#列出系统中可用网络接口命名
ls /sys/class/net

#使用DHCP
dhcpcd eth0
#使用DHCP服务器所提供的主机名和域名
dhcpcd -HD eth0

#准备无线网络链接,例如wlp9s0网卡
iw dev wlp9s0 info
iw dev wlp9s0 link
ip link set dev wlp9s0 up
#连接到名为“GentooNode”的开放网络
iw dev wlp9s0 connect -w GentooNode
#设置一个WEP密钥:使用d:前缀:
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
#使用ASCII WEP密钥连接:
iw dev wlp9s0 connect -w GentooNode key 0:some-password

#使用ifconfig和route
#要指派一个IP地址,需要IP地址、广播地址和掩码。替换${IP_ADDR}为正确的IP地址、${BROADCAST}为正确的广播地址以及${NETMASK}为正确的掩码:
ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
#使用route设置路由。替换${GATEWAY}为正确的网络IP地址:
route add default gw ${GATEWAY}
#替换${NAMESERVER1}和${NAMESERVER2}为合适的名称服务器地址:
nano -w /etc/resolv.conf
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

#测试网络

ping www.baidu.com

 

#设置时间,解压stage3-amd64.tar.xz和portage.tar.bz2

#查询时间(必要)

date
WEB Oct 16 18:28:02 UTC 2019

#设置时间:10月16日 18:28 2019

date 101618282019

#自动设置时间(将向时间服务器显示系统的IP地址和相关网络信息)

emerge --ask net-misc/ntp
ntpd -q -g

#使用df命令查看分区挂载情况

df

#得知dev/sr0挂载到/mnt/cdrom,光盘镜像位置

#查看/mnt/cdrom目录

dir /mnt/cdrom

#找到stage3-amd64.tar.xz和portage.tar.bz2

#解压mnt/cdrom的stage3和portage

time tar xpvf /mnt/cdrom/stage3-amd64.tar.xz -C /mnt/gentoo
time tar xjpvf /mnt/cdrom/portage.tar.bz2 -C /mnt/gentoo/usr

#如果要手动下载stage压缩包
cd /mnt/gentoo

#图形浏览器
使用图形化网页浏览器从主网站下载小节复制stage文件URL,将链接粘贴到命令行中的 wget程序以下载stage tarball:
wget <PASTED_STAGE_URL>

#命令行浏览器
#使用links
links https://www.gentoo.org/downloads/mirrors/
#使用一个HTTP代理,在传入URL上加一个-http-proxy选项:
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/

#访问releases/amd64/autobuilds/current-install-amd64-minimal/,选择以下项目,按 d 下载:
stage3-amd64-*.tar.xz
stage3-amd64-*.tar.xz.CONTENTS(包含stage压缩包内的所有文件的列表)
stage3-amd64-*.tar.xz.DIGESTS(包含用不同的算法校验的stage文件)
stage3-amd64-*.tar.xz.DIGESTS.asc(包含不同的stage文件的校验和,加密签名,由Gentoo项目提供)

#按 q 来关闭命令行浏览器

#校验
#使用openssl命令验证SHA512校验值:
openssl dgst -r -sha512 stage3-amd64-<release>.tar.?(bz2|xz)
#使用sha512sum命令验证SHA512校验值:
sha512sum stage3-amd64-<release>.tar.?(bz2|xz)
#验证Whirlpool校验值:
openssl dgst -r -whirlpool stage3-amd64-<release>.tar.?(bz2|xz)
#在ISO文件中验证加密签名的.DIGESTS.asc:
gpg --verify stage3-amd64-<release>.tar.?(bz2|xz){.DIGESTS.asc,}

#解压stage压缩包
tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner


#配置编译选项

#检查电脑核心数

cat /proc/cpuinfo | grep processor

#用nano编辑器在make.conf中加入 MAKEOPTS="-jN" ,注意N为CPU数目(CPU核心数)+1 ,完成按 Ctrl+X (保存 y )回车

nano -w /mnt/gentoo/etc/portage/make.conf


#可选:使用mirrorselect选择境像站点,移动光标按 空格键 选择China的镜像,Tab键切换OK和Cancel,回车确认

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf


#配置Gentoo ebuild 软件仓库

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


#使用cat命令检查gentoo.conf

cat /mnt/gentoo/etc/portage/repos.conf/gentoo.conf


#复制DNS信息

cp --dereference /etc/resolv.conf /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/(在分区里)

chroot /mnt/gentoo /bin/bash

#变更

livecd / #

#使用source命令将一些设置(那些在/etc/profile中的)重新载入到内存中

source /etc/profile

#更改主提示符来帮助我们记住当前会话在一个chroot环境里面。

export PS1="(chroot) ${PS1}"

#变更

(chroot)livecd / #


#配置Portage

#从网站安装ebuild 数据库快照

emerge-webrsync

#阅读新闻条目
#对于news模块,最常用的有三个操作:
1、使用list显示一个可用新闻条目的预览。
2、使用read来阅读新闻条目。
3、使用purge将在新闻条目阅读后删除,并且不能再次阅读。
eselect news list
eselect news read
#更多关于新闻阅读器的信息可以通过其手册页查看:
man news.eselect

#可选:更新Portage ebuild 数据库
emerge --sync
#在慢速的终端上,比如一些framebuffer或者串口控制台,建议使用--quiet选项来加速这个进程:
emerge --sync --quiet

#选择正确的配置文件,注意*为默认项

eselect profile list

#选择配置文件(默认/Desktop是16,最小安装减少编译时间。/Desktop/Gnome是21,/Desktop/Plasma是23)

eselect profile set 16


#更新@world集合

#更新系统的@world set,以便可以构建系统。当系统应用了任何升级,或从任何profile构建stage3后,应用了变化的use标记时,请执行:

time emerge --ask --verbose --update --deep --newuse @world

#安装时如果提示USE changes,输入 y 回车,然后执行
etc-update
#然后输入-3 ,回车,输入 y 回车。执行
time emerge --ask --verbose --update --deep --newuse @world
#(默认约10分钟,gnome环境100多分钟,plasma环境400多分钟)

#配置USE变量

#检查当前活动的USE标记

emerge --ask --info | grep ^USE

#可用的USE标记的完整描述。
less /var/db/repos/gentoo/profiles/use.desc
#在less命令中,可以通过使用↑和↓键来滚动,并且可以按q退出。

#示例,支持DVD、ALSA,以及CD录制的基于KDE系统的USE设置:
nano -w /etc/portage/make.conf
USE="-gtk -gnome qt5 kde dvd alsa cdr"
#忽略所有默认的USE设置并完全由自己管理,需在make.conf中定义USE以-*开头:
USE="-* X acl alsa "

#时区

ls /usr/share/zoneinfo

#选择的时区是Asia/Shanghai

echo "Asia/Shanghai" > /etc/timezone

#重新配置sys-libs/timezone-data包

emerge --config sys-libs/timezone-data


#配置地区

nano -w /etc/locale.gen

#添加US和CN地区及附加字符格式,按Ctrl+X退出,按y保存确认

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

#生成/etc/locale.gen文件中指定的所有地区

locale-gen

#通过eselect locale list可显示可用的目标

eselect locale list

Available targets for the LANG variable:
.
  [5]   en_US.utf8
.
  [9]   zh_CN.utf8
.
#通过eselect locale set VALUE可以设定正确的地区(建议安装完系统再改为中文,否则安装过程中有乱码)

eselect locale set 5

#查询、设置时间(必要)

date
WEB Oct 16 18:28:02 UTC 2019

#设置时间:10月16日 18:28 2019

date 101618282019

#自动设置时间(将向时间服务器显示系统的IP地址和相关网络信息)
time emerge --ask net-misc/ntp
ntpd -q -g

#重新加载环境

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


#安装源码

time emerge --ask sys-kernel/gentoo-sources

#(约3分钟)

#这将在/usr/src/中安装Linux内核源码,并有一个符号连接叫作linux将指向安装的内核源码

ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    20 OCT 14 21:38 /usr/src/linux -> linux-4.19.72-gentoo

#为了不丢失特定于CPU的优化,将要求用户更新make.conf(以及可能的package.use)文件。 
#安装cpuid2cpuflags
(约14分钟)

time emerge --ask app-portage/cpuid2cpuflags
cpuid2cpuflags
cpuid2cpuflags >> /etc/portage/make.conf
nano -w /etc/portage/make.conf
#修改格式
CPU_FLAGS_X86="aes avx mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"

#安装pciutils,用lspci命令查看PCI设备

emerge --ask sys-apps/pciutils

#默认:手动配置

emerge --ask sys-apps/pciutils
cd /usr/src/linux
make menuconfig

#以下仅供参考

# 启用devtmpfs支持
Device Drivers --->
    Generic Driver Options --->
        [*] Maintain a devtmpfs filesystem to mount at /dev

#Enabling SCSI disk support
Device Drivers --->
    SCSI device support  --->
        <*> SCSI disk support

#选择所需要的文件系统
File systems --->
    <*> Second extended fs support
    <*> The Extended 3 (ext3) filesystem
    <*> The Extended 4 (ext4) filesystem
    <*> Reiserfs support
    <*> JFS filesystem support
    <*> XFS filesystem support
    <*> Btrfs filesystem support
    DOS/FAT/NT Filesystems  --->
        <*> MSDOS fs support
        <*> VFAT (Windows-95) fs support

#选择PPPoE所需要的驱动
Pseudo Filesystems --->
    [*] /proc file system support
    [*] Tmpfs virtual memory file system support (former shm fs)

#激活SMP支持
rocessor type and features  --->
    [*] Symmetric multi-processing support

#激活USB输入设备的支持
HID support  --->
    -*- HID bus support
    <*>   Generic HID driver
    [*]   Battery level reporting for HID devices
        USB HID support  --->
            <*> USB HID transport layer
    [*] USB support  --->
        <*>     xHCI HCD (USB 3.0) support
        <*>     EHCI HCD (USB 2.0) support
        <*>     OHCI HCD (USB 1.1) support

#Selecting processor types and features
Processor type and features  --->
    [ ] Machine Check / overheating reporting 
    [ ]   Intel MCE Features
    [ ]   AMD MCE Features
    Processor family (AMD-Opteron/Athlon64)  --->
        ( ) Opteron/Athlon64/Hammer/K8
        ( ) Intel P4 / older Netburst based Xeon
        ( ) Core 2/newer Xeon
        ( ) Intel Atom
        ( ) Generic-x86-64
Executable file formats / Emulations  --->
    [*] IA32 Emulation

#Enable support for GPT
-*- Enable the block layer --->
    Partition Types --->
        [*] Advanced partition selection
        [*] EFI GUID Partition support

#Enable support for UEFI
Processor type and features  --->
    [*] EFI runtime service support 
    [*]   EFI stub support
    [*]     EFI mixed-mode support
 
Firmware Drivers  --->
    EFI (Extensible Firmware Interface) Support  --->
        <*> EFI Variable Support via sysfs

#Compiling and installing
make && make modules_install
make install

可选:生成一个initramfs
emerge --ask sys-kernel/genkernel
genkernel --install initramfs
#示例,启用LVM和软件RAID (mdadm) 的支持:
genkernel --lvm --mdadm --install initramfs
#initramfs将存储在/boot/
ls /boot/initramfs*

#使用genkernel自动配置(生手或虚拟机推荐)

time emerge --ask sys-kernel/genkernel

#安装时如果提示 USE changes,输入 y 回车,然后执行

etc-update

#然后输入-3 ,回车,输入 y 回车,然后执行(约5分钟)

time emerge --ask sys-kernel/genkernel

#查看文件系统标签和 UUID 由 LABEL 和 UUID 前缀标识

blkid


#编辑/etc/fstab系统的挂载点(fs可以用 UUID=* 来表示)

nano -w /etc/fstab
<fs>         <mountpoint>    <type>  <opts>          <dump/pass>
/dev/sda2    /boot/efi       vfat    noauto,noatime  1 2
/dev/sda3    none            swap    sw              0 0
UUID=*       /               ext4    noatime         0 1  


#编译内核源码(约100多分钟,CPU100%)

time genkernel all

#记下内核和initrd名字作为编辑引导器配置文件的信息

ls /boot/kernel* /boot/initramfs*
/boot/initramfs-genkernel-x86_64-4.19.72-gentoo /boot/kernel-genkernel-x86_64-4.19.72-gentoo

#内核模块
#配置模块
#一些奇特硬件需要帮助来加载其驱动程序。
#可以在 /etc/modprobe.d/*.conf 文件中,为模块设置添加附加选项。
#用find命令查看所有可用模块,运行下面的。替换“<kernel version>”为刚刚编译的内核版本:
find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less
#举例,要自动加载3c59x.ko模块(3Com网卡家族的特定驱动),编辑/etc/modules-load.d/network.conf文件并在里面输入模块名字。实际的文件名对 loader 来说无关紧要。
mkdir -p /etc/modules-load.d
nano -w /etc/modules-load.d/network.conf
3c59x


#可选:安装固件(默认已经安装)

emerge --ask sys-kernel/linux-firmware


文件系统信息
关于 fstab
创建/etc/fstab文件
/etc/fstab文件使用一种特殊语法格式。每行都包含六个字段。这些字段之间由空白键(空格键,tab键,或者两者混合使用)分隔。每个字段都有自己的含意:
1.#第一个字段显示要挂载的特殊 block 设备或远程文件系统。 有几种设备标识符可用于特殊块设备节点,包括设备文件路径,文件系统标签,UUID,分区标签以及UUID。
2.第二个字段是分区挂载点,也就是分区应该挂载到的地方
3.第三个字段给出分区所用的文件系统
4.第四个字段给出的是挂载分区时mount命令所用的挂载选项。由于每个文件系统都有自己的挂载选项,我们建议你阅读mount手册(man mount)以获得所有挂载选项的列表。多个挂载选项之间是用逗号分隔的。
5.第五个字段是给dump使用的,用以决定这个分区是否需要dump。一般情况下,你可以把该字段设为0(零)。
第六个字段是给fsck使用的,用以决定系统非正常关机之后文件系统的检查顺序。根文件系统应该为1,而其它的应该为2(如果不需要文件系统自检的话可以设为0)。
nano -w /etc/fstab
文件系统标签和 UUID 由 LABEL 和 UUID 前缀标识,可以使用 blkid 命令查看
blkid

#网络信息

#设置主机名

nano -w /etc/conf.d/hostname
hostname="主机名"


#域名

nano -w /etc/conf.d/net
dns_domain_lo="homenetwork"


#如果你选择不设定域名,你可以去掉登录界面上的这条信息:“This is hostname.(none)”。你只需要修改/etc/issue ,把字符串.\O从该文件里删掉即可。
 

#NIS域

nano -w /etc/conf.d/net
nis_domain_lo="my-nisdomain"


#配置网络

#安装net-misc/netifrc

emerge --ask --noreplace net-misc/netifrc

#打开 /etc/conf.d/net

nano -w /etc/conf.d/net

#注意,以下举例中的网络标示enp0s3是通过ifconfig命令得到。
#静态IP定义
#设置 config_enp0s3 和 routes_enp0s3 输入IP地址信息和路由信息:
config_enp0s3="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_enp0s3="default via 192.168.0.1"
 

#要使用DHCP,定义 config_enp0s3:

config_enp0s3="dhcp"

#在启动时自动启用网络链接
#加这些到default运行级别

cd /etc/init.d
ln -s net.lo net.enp0s3
rc-update add net.enp0s3 default
cd /

#如果错误输入eth0,可以进行删除操作
cd /etc/init.d
ln -s -b net.lo net.eth0
rc-update del net.eth0 default
 

#hosts 文件

(如果不设置,StartX无法运行)

nano -w /etc/hosts

# 定义的是现在系统
IP                主机域名                 主机名    
127.0.0.1    tux.homenetwork    tux           localhost
  
# 定义你网络上的其它系统
IP                    主机域名                     主机名
192.168.0.5    jenny.homenetwork     jenny
192.168.0.6    benny.homenetwork    benny


#系统信息

#设置root密码

passwd


#配置引导和启动(默认)
#Gentoo(在使用OpenRC时)使用/etc/rc.conf配置系统的服务,启动和关闭。

nano -w /etc/rc.conf


#打开/etc/conf.d/keymaps 来处理键盘设置(默认)

nano -w /etc/conf.d/keymaps

#要特别注意keymap这个变量 。如果你选择了错误的KEYMAP,在你敲击键盘的时候会有奇怪的结果。
 

#时钟设置

#如果你机器上的时钟不用UTC,你需要在配置文件加上clock="local"。否则,你的时钟就有可能出现偏差。

nano -w /etc/conf.d/hwclock


#系统日志工具

emerge --ask app-admin/sysklogd
rc-update add sysklogd default


#可选:Cron守护进程

emerge --ask sys-process/cronie
rc-update add cronie default

#如果使用dcron或fcron,需要执行附加的初始化命令:
(chroot)livecd / # crontab /etc/crontab


#可选:文件索引

emerge --ask sys-apps/mlocate


#可选:远程访问

#要在安装后远程访问系统,请将sshdinit脚本添加到 default 运行级别:

# rc-update add sshd default

#如果需要终端访问(在远程服务器的情况下这是可能的),请在 /etc/inittab中取消注释控制台部分:(主机COM口)
nano -w /etc/inittab
# SERIAL CONSOLES,端口请自行修改
s0:12345:respawn:/sbin/agetty 115200 ttyS0 vt100
s1:12345:respawn:/sbin/agetty 115200 ttyS1 vt100


#可选:文件系统工具

(识别Windows的NTFS分区要安装sys-fs/ntfs3g)

emerge --ask sys-fs/e2fsprogs
emerge --ask sys-fs/xfsprogs
emerge --ask sys-fs/reiserfsprogs
emerge --ask sys-fs/jfsutils
emerge --ask sys-fs/dosfstools
emerge --ask sys-fs/btrfs-progs

emerge --ask sys-fs/ntfs3g


#网络工具

#安装DHCP客户端

emerge --ask net-misc/dhcpcd


#可选:安装PPPoE客户端(非常漫长,不推荐)
time emerge --ask net-dialup/ppp


#可选:安装无线网络工具

time emerge --ask net-wireless/iw net-wireless/wpa_supplicant

#(默认约5分钟,桌面环境约100多分钟)

#选择引导器

#默认:GRUB2


#MBR用户
#当使用只支持MBR分区表的旧版BIOS系统时,无需进行其他配置即可安装GRUB:
emerge --ask --verbose sys-boot/grub:2

#UEFI用户

echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
time emerge --ask sys-boot/grub:2

#(默认约6分钟,桌面环境约10多分钟)


#如果GRUB2在未先添加GRUB_PLATFORMS="efi-64"到make.conf时就已经emerge过,可以添加这一行(像上面显示那样)然后通过--update --newuse options to emerge:选项来重新计算 world package set :
emerge --ask --update --newuse --verbose sys-boot/grub:2

#Install
#通过grub-install命令安装GRUB2所需的文件到/boot/grub/目录


#使用BIOS时:
grub-install /dev/sda


#使用UEFI时:
#确保EFI系统分区在运行grub-install“之前”已经挂载。
#检查/boot/efi是否存在,没有就创建
(不同于官方的/boot,是为了与WIN10共存)

dir /boot
mkdir -p /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi


#重要
如果grub_install返回类似的错误Could not prepare Boot variable: Read-only file system,可能需要将efivars特殊挂载重新安装为读写才能成功:
mount -o remount,rw /sys/firmware/efi/efivars

#一些主板制造商似乎只支持EFI系统分区(ESP)中.EFI文件的 /efi/boot/目录。 GRUB安装程序可以使用 --removable选项自动执行此操作。 在运行以下命令之前验证是否已安装ESP。 假设ESP安装在/boot(如前所述),执行:
grub-install --target=x86_64-efi --efi-directory=/boot --removable
这将创建UEFI规范定义的默认目录,然后将 grubx64.efi 文件复制到由同一规范定义的“默认”EFI文件位置。
 

#注意:如果是安装win10 与gentoo 双系统,需要另外安装 os-prober 用以检测 win10 的引导:
emerge --ask sys-boot/os-prober
etc-update
#然后输入-3 ,回车,输入 y  (必须输入y再回车),回车。
emerge --ask sys-boot/os-prober
os-prober


#再一次配置
#要生成最终的GRUB2配置,运行grub-mkconfig命令

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

#修复VritualBox的UEFI引导错误

mkdir -p /boot/efi/EFI/boot
cp /boot/efi/EFI/gentoo/grubx64.efi /boot/efi/EFI/boot/bootx64.efi


#备选:LILO

#备选:efibootmgr

#备选: Syslinux


#重启系统

#退出chroot环境并unmount全部已持载分区

exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo

#当然,别忘了移除可引导CD,否则可能再次从CD启动,而不是新的Gentoo系统。
#当重启进全新安装的Gentoo环境,继续完成结束Gentoo安装。

reboot

#用户管理

#添加一个日常使用的用户
#在Unix/Linux系统中,用root进行工作是一件危险的事情,应该尽量避免。因此我们强烈推荐您为日常使用添加一个普通用户。


#用户所属的组定义了其可以执行的活动。下表中列出了许多您可能希望使用的重要组:
Group      Description
audio       允许使用声音设备
cdrom      允许直接使用光驱设备
floppy      允许直接使用软驱
games     允许运行游戏
portage    能够访问portage受限资源。
usb          允许使用USB设备
video       允许使用视频采集设备和硬件加速
wheel      可以使用su.
 

#比如,创建一个叫作larry的wheel、users、audio和video组的成员用户,首先作为root登录(只有root能创建用户)并运行useradd:

Login:root
Password: (输入root 密码)
root # useradd -m -G users,wheel,audio,video -s /bin/bash larry
root # passwd larry
Password: (输入larry的密码)
Re-enter password: (重复输入密码)

#如果一个用户仍需要以root身份做一些任务,他们可以使用su -来临时得到root权限。另一种方式是使用sudo包,如果配置正确的话,非常安全。

#虚拟机备份

#建议Poweroff一次,再启动,确认引导正确。然后在Poweroff后对虚拟机生存快照备份

=======================================================

修复引导

#用livecd启动修复VritualBox的UEFI引导错误(Grub2)

(前提是你已经按照官方教程安装好Gentoo,然后发现VirtualBox关机后无法UEFI启动,只显示UEFI Interactive Shell画面)

mount /dev/sda4 /mnt/gentoo
mkdir -p /mnt/gentoo/boot/efi/EFI/boot
mount /dev/sda2 /mnt/gentoo/boot/efi
cp /mnt/gentoo/boot/efi/EFI/gentoo/grubx64.efi /mnt/gentoo/boot/efi/EFI/boot/bootx64.efi
reboot


#用livecd启动修复引导错误(Grub2)

disk -l
parted /dev/sda
print
quit

#得知boot分区是/dev/sda2,/分区是/dev/sda4

mount /dev/sda4 /mnt/gentoo
mkdir -p /mnt/gentoo/boot/efi
mount /dev/sda2 /mnt/gentoo/boot/efi
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}"
blkid
nano -w /etc/fstab

#确认fstab表正确

grub-install --target=x86_64-efi --efi-directory=/boot/efi  --boot-directory /boot

#注意:如果是安装win10 与gentoo 双系统,需要另外安装 os-prober 用以检测 win10 的引导:
emerge --ask sys-boot/os-prober
#安装时如果提示USE changes,输入 y 回车,然后执行
etc-update
#然后输入-3 ,回车,输入 y 回车,然后执行
emerge --ask sys-boot/os-prober
os-prober

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

#修复VritualBox的UEFI引导错误(Grub2)
mkdir -p /boot/efi/EFI/boot
cp /boot/efi/EFI/gentoo/grubx64.efi /boot/efi/EFI/boot/bootx64.efi

exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo
reboot

#系统内修复引导(Grub2)

disk -l
parted /dev/sda
print
quit

#得知boot分区是/dev/sda2

mkdir -p /boot/efi/EFI/gentoo
mount /dev/sda2 /boot/efi
blkid
nano -w /etc/fstab

#确认fstab表正确

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

#修复VritualBox的UEFI引导错误

mkdir -p /boot/efi/EFI/boot
cp /boot/efi/EFI/gentoo/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
reboot

=======================================================

安装Gentoo Linux+Plasma桌面环境

#参考

KDE https://wiki.gentoo.org/wiki/KDE/zh-cn#.E4.BC.9A.E8.AF.9D.E7.AE.A1.E7.90.86.E5.99.A8

X server https://wiki.gentoo.org/wiki/X_server

Xorg https://wiki.gentoo.org/wiki/Xorg/Guide/zh-cn

Consolekit https://wiki.gentoo.org/wiki/ConsoleKit

Eudev https://wiki.gentoo.org/wiki/Eudev

D-Bus https://wiki.gentoo.org/wiki/D-Bus

Polkit https://wiki.gentoo.org/wiki/Polkit

Udisks https://wiki.gentoo.org/wiki/Udisks

Linux:Gentoo系统的安装笔记(一)

Linux:Gentoo系统的安装笔记(二)

Linux:Gentoo系统的安装笔记(三)

Linux:Gentoo系统的安装笔记(四)

Gentoo Linux KDE 环境安装1

Gentoo Linux KDE 环境安装2

#准备

...

... 此段的过程参考非图形化的安装教程

...

#LiveDVD启动,无密码登录,打开Konsole,设置gentoo密码, 方便使用ssh方式进行安装

passwd

#获得root权限

su -

#或sudo -i

#启动sshd, 使用ssh方式进行安装(这样就可以复制粘贴了,否则你只能手动输入命令……)

/etc/init.d/sshd start

#使用终端连接虚拟机(例如Finalshell),用户gentoo

ssh -p 9022 [email protected]

...

... 此段的过程参考非图形化的安装教程

...

#挂载必要的文件系统

mount /dev/sda4 /mnt/gentoo
#与WIN10共存时,直接mount WIN10的efi分区
mkdir -p /mnt/gentoo/boot/efi
mount /dev/sda2 /mnt/gentoo/boot/efi

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}"

...

... 此段的过程参考非图形化的安装教程

... 

... 

#KDE

#KDE是一个自由软件社区,其提供了一组应用程序,包括流行的 Plasma 桌面环境。
#Gentoo对KDE项目的支持非常好,包括对KDE Frameworks 5,Plasma 5和Applications的全面支持,以及其他各种各样基于KDE的软件。

#配置

#Profile选择/desktop/plasma

eselect profile list
eselect profile set *

#更新@world集合(约478分钟)

time emerge --ask --verbose --update --deep --newuse @world

#安装时如果提示USE changes,输入 y 回车,然后执行
etc-update
#然后输入-3 ,回车,输入 y 回车。执行
time emerge --ask --verbose --update --deep --newuse @world

...

... 系统安装完成重启

... 新建新用户

... 此段的过程参考非图形化的安装教程

... PS:emerge加入--quiet简洁输出

...

#重启

reboot

#获得root权限

su -

#安装sudo

time emerge --ask app-admin/sudo

#使wheel组的成员能够执行的任何命令

nano -w /etc/sudoers
## Uncommet to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
%wheel ALL=(ALL) ALL

#安装openssh(默认已安装)
time emerge --ask --changed-use net-misc/openssh

#使用终端连接虚拟机(例如Finalshell)

ssh -p 9022 新用户@127.0.0.1

#服务

#在接下来的章节里,按着安装步骤,这些服务将会默认自动选上,具体的取决于之前选择的profile。但在第一次启动KDE Plasma之前,还是需要将它们设置妥当。为了不会使用默认设置,建议在安装KDE Plasma或者KDE应用程序之前,通过emerge ‑‑oneshot先安装这些服务,以便Portage将它们考虑进去。

#会话管理器
#从下列中只选一个:
elogind: 从systemd项目中提取的单独的logind服务包,用于OpenRC或其他初始化系统。
systemd: 使用systemd提供的会话管理器,systemd用户不需要为此做更多的工作。
consolekit: Framework for defining and tracking users, login sessions, and seats. It is currently default for the desktop/plasma profile.
为了支持 Wayland,我们需要一个logind实现。Gentoo提供elogind作为systemd的替代。

#设备管理器
从下列中只选一个:
eudev: Gentoo的udev分支,旨在获得更好的兼容性。desktop/plasma profile默认使用eudev。
udev: 支持udev Linux动态和固定设备命名。
systemd: 使用systemd提供的设备管理器,systemd用户不需要为此做更多的工作。

#杂项
D-Bus: 使用D-Bus消息总线系统。
polkit: 启用polkit框架以获得控制全局服务的权限。
udisks: 启用对一些存储相关服务的支持。

#本教程中,会话管理器选择consolekit,设备管理器选择eudev,其他还有D-Bus、polkit、udisks。

#但即使不设置这些,也不影响进入Plasma桌面。

#添加consolekit、dbus、polkit和udisks到USE标记
nano -w /etc/portage/make.conf
USE="consolekit"
USE="dbus"
USE="policykit"
USE="udisks"

time emerge --ask --changed-use --deep @world

(约14分钟)


#安装D-Bus

emerge --ask ‑‑oneshot sys-apps/dbus

#启动D-Bus

/etc/init.d/dbus start

#添加为默认运行级别:(可选)

rc-update add dbus default


#安装polkit

#先决条件:D-Bus已经配置完成。
#确认

find / -name .config
nano -w /usr/src/linux-4.19.72-gentoo/.config

#按 Ctrl+W 查找到 CONFIG_FUTEX=y 这个选项。
#之前运行genkernel all的话,就会有这个选项。手动配置没有的话,请在Live CD下找到该文件编译,然后再重新编译一次,最后再把该文件加载到引导中去。
#没有的话,会导致CPU高负荷。

time emerge --ask ‑‑oneshot sys-auth/polkit

(约12分钟)

#配置polkit
#The actions files are in /usr/share/polkit-1/actions, the rules files are in /usr/share/polkit-1/rules.d and /etc/polkit-1/rules.d.

#Rules
#Rules redefine who's authorized for an action. The rules files begin with a number and are processed in lexical order. The first file with a matching rule is used. Own files should have a low number, like 10. The filenames have the .rules suffix.

#举例,让wheel群组的用户也可以使用管理员权限
mkdir -p /etc/polkit-1/rules.d
nano -w /etc/polkit-1/rules.d/10-admin.rules
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

#举例,允许用户larry可以挂载磁盘
nano -w /etc/polkit-1/rules.d/10-udisks.rules
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.filesystem-mount" &&
        subject.user == "larry") {
        return polkit.Result.YES;
    }
});


#配置udisk

#先决条件:D-Bus和polkit已配置完成。

cd /usr/src/linux
make menuconfig

#udisks1
Device Drivers  --->
    < > ATA/ATAPI/MFM/RLL support (DEPRECATED)  --->
    [*] USB support  --->
        <*>   Support for Host-side USB
        [*]     USB runtime power management (autosuspend) and wakeup
File Systems -->
    Native Language Support -->
        <*> NLS UTF8

#udisks2
General setup  --->
    [*] Support for paging of anonymous memory (swap)
Device Drivers  --->
    < > ATA/ATAPI/MFM/RLL support (DEPRECATED)  --->
File Systems -->
    Native Language Support -->
        <*> NLS UTF8
    Pseudo filesystems  --->
        -*- Tmpfs virtual memory file system support (former shm fs)
        [*]   Tmpfs POSIX Access Control Lists


#安装eudev

time emerge --ask ‑‑oneshot sys-fs/eudev

#配置eudev
#RC的名字是udev,而不是eudev。它需要在sysinit运行级别中注册:

rc-update add udev sysinit

#提示:从syfs /udev-init-scripts版本29开始,udev-trigger也应该添加到sysinit运行级别。

#如果系统使用multilib,例如,有abi_x86_64(32)使用标志对旧的udev包是活动的,那么不要忘记更改它:(当然如果是32的,请把64改为32即可。)
nano -w /etc/protage/package.use
# sys-fs/udev abi_x86_64
sys-fs/eudev abi_x86_64

#为了保持经典的命名,可以在/etc/udev/rules.d中使用相同命名的空文件覆盖此规则d目录:
touch /etc/udev/rules.d/80-net-name-slot.rules

#使用新的“可预测的”命名,新的网络接口命名约定不一样,因此需要重新链接接口。使用/etc/init.d/net.lo作为需要添加的任何接口名称的链接目标。请确保将下面命令中的替换为系统中出现的以太网接口名称。通过运行ifconfig命令可以发现存在哪些接口:
ifconfig

#为/etc/init中的现有接口创建符号链接:
ln -s /etc/int.d/net.lo /etc/init.d/net/<界面名称>
ln -s /etc/conf.d/net.lo /etc/conf.d/net/<界面名称>

将脚本添加到默认运行级别
re-update add net.<界面名称> default


#配置ConsoleKit

#先决条件:D-Bus已经配置完成。

cd /usr/src/linux
make menuconfig

#Required options for ConsoleKit
General setup --->
      [*] Auditing support
      [*] Enable system-call auditing support


#X.Org server

https://wiki.gentoo.org/wiki/Xorg/Guide

#Intel显卡设置
https://wiki.gentoo.org/wiki/Intel#Kernel

#NVIDIA、AMD/ATI Radeon、AMDGPU显卡设置
https://wiki.gentoo.org/wiki/Xorg/Guide

#检测显卡信息
lspci | grep -i VGA

#检测输入设备信息
portageq envvar INPUT_DEVICES

#安装xorg-drivers

(约14分钟)

time emerge --ask x11-base/xorg-drivers

#安装xorg-server

(约7分钟)

time emerge --ask x11-base/xorg-server

#更新系统变量,更新profile配置文件

env-update
source /etc/profile

#尝试用startx运行 X server
https://wiki.gentoo.org/wiki/Xorg/Guide
#调整 X 设置
#设置屏幕分辨率
#多显示器
#配置键盘

#安装plasma-meta

(116约分钟)

time emerge --ask kde-plasma/plasma-meta

#小工具
#kde-plasma/kdeplasma-addons 提供了很多有用的小工具
time emerge --ask kde-plasma/kdeplasma-addons

#显示管理器
#无显示管理器

#系统托盘

#Pidgin

#KWallet 自动解锁

#SSH/GPG 密钥启动/关闭脚本

#使用root权限运行 GUI 应用

#KDE Applications
time emerge --ask kde-apps/kde-apps-meta

#本地化
Plasma-5 和应用程序的每个包都提供了本地化文件。可以在系统设置中启用本地化。

KDE PIM
KDE PIM 是一整套用于管理个人信息的应用程序,包括邮件,日历,联系人等。它有几个可选的运行时依赖来扩展其功能:
病毒检测:app-antivirus/clamav
垃圾邮件过滤:mail-filter/bogofilter 或 mail-filter/spamassassin
time emerge --ask app-antivirus/clamav
time emerge --ask mail-filter/bogofilter
或 time emerge --ask mail-filter/spamassassin

#安装kde-frameworks

(约29分钟)

time emerge --ask kde-frameworks/plasma

#更多KDE软件
最主要的 KDE 应用程序在 Porage 树的 kde-apps 和kde-misc 分类中。

#将sddm设置为默认的显示管理器

time emerge --ask x11-misc/sddm
rc-update add xdm default
nano -w /etc/conf.d/xdm
#DISPLAYMANAGER="xdm"
DISPLAYMANAGER="sddm"

##安装konsole或Xterm终端

time emerge --ask kde-apps/konsole
time emerge --ask x11-terms/xterm

#安装virtualbox附加组件(约20分钟)

time emerge --ask app-emulation/virtualbox-guest-additions

#字体

emerge --ask wqy-zenhei
emerge --ask wqy-microhei


#浏览器

#安装Chrome(约17分钟)

time emerge --ask www-client/google-chrome

#提示license Change,输入 y 回车。然后执行
etc-update
#然后输入-3 ,回车,输入 y 回车。执行
time emerge --ask www-client/google-chrome

#安装火狐浏览器
emerge --ask www-client/firefox-bin

#安装Opera
emerge --ask www-client/opera

#重启

reboot


#重启,开机grub菜单,按 e ,在以下段落中添加 single ,按 F10 boot
linux /kernel-genkernel...-gentoo single root=...

#登录Gentoo Linux(Plasma桌面环境)

#登录画面左上角Sessionx选择Plasma on xorg


#检查用户larry的video cards权限

getfacl /dev/dri/card0 | grep larry
user:larry:rw-

#将用户添加到video group:

gpasswd -a larry video

#PS:虚拟机网卡设置桥接模式,启动gentoo虚拟机,登录路由器知道gentoo虚拟机的IP。SSH IP登录gentoo虚拟机:
ssh IP

=======================================================

发布了32 篇原创文章 · 获赞 9 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_43149632/article/details/102489843