Gentoo安装教程(Systemd+Gnome)

准备!

_1、一台能上网的电脑

2、一个能用的U盘(建议8G以上,安装livecd)

3、有条件的可以再准备一台电脑用于后续安装(ssh比较方便)

4、基本能看懂点英文,毕竟安装过程中遇到的错误需要自己解决。_

开始了,开始了
== 本文主要是做一个记录,相当于小笔记吧,图片很少,这是装完后写的==

一、使用Windwos刻录livecd(随便一款你知道的linux发行版,可以不安装就可以体验的那种就行,我用的是Ubuntu16.04)
二、使用U盘启动进入Livecd(Ubuntu进去首先设置root密码,然后对硬盘分区)

分区我是用Ubuntu自带的gparted,很好用的一个图形化磁盘分区工具
sda1 —/boot—>vfat >=200M #注意分区设置flags为esp(我是安装在win10所在的ESP分区,在M.2硬盘上,也就是nvm1n1p1(具体忘了),800M)
sda2 —/--->ext4,btrfs,xfs,jfs.etc >=20G #建议至少20G大小
sda3 —swap—> >=2G #除非你16G内存,即使你8G内存也建议设置2G的swap

创建目录
mkdir -v /mnt/gentoo
挂载目录:
mount -v /dev/sda2 /mnt/gentoo
如有单独的/home、/var等分区,则创造相应的文件夹(记住,先挂载根目录后再创建,然后挂载,不然会消失)
mkdir -v /mnt/gentoo/home
mkdir -v /mnt/gentoo/var
mount -v /dev/sda3 /mnt/gentoo/home
mount -v /dev/sda4 /mnt/gentoo/var

三、选择并下载一个选择一个stage包(这里选择带有Systemd的stage包)

在这里列出几个速度比较快的镜像站
USTC
TUNA
**例如:stage3-amd64-systemd-20210124T214504Z.tar.xz **
下载到本地的/mnt/gentoo目录
下载完成之后进入gentoo的根目录并解压文件:
tar -xvJf stage3-amd64-systemd-20210124T214504Z.tar.xz (tar -xvJ(大写)f)

配置make.conf和Portage Mirror
开始对于gentoo不了解的建议使用默认配置,不必改太多,反而有时会出现意外错误
make.conf配置
#GCC
CFLAGS="-march=haswell -O2 -pipe"(cpu架构,可以在gentoo官网查询)
CXXFLAGS="${CFLAGS}"
CHOST=“x86_64-pc-linux-gnu”
MAKEOPTS="-j12"(cpu线程数)

# Portage
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo/"

ACCEPT_LICENSE="*"(许可证)

Portage Mirror: 这个不是make.conf的选项.mkdir /mnt/gentoo/etc/portage/repos.conf创建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/
auto-sync = yes

四、进入chroot环境

== 复制DNS信息==
在进行新环境之前,还有一件要做的事情就是复制/etc/resolv.conf中的DNS信息。需要完成这个来确保即使进入到新环境后网络仍然可以使用。/etc/resolv.conf包含着当前网络中的DNS服务器。
要复制这个信息,建议通过cp命令的 --dereference 选项。这可以保障如果/etc/resolv.conf是一个符号链接的话,复制的是那个目标文件而不是这个符号文件自己。否则在新环境中,符号文件将指向一个不存在的文件(因为链接目标非常可能不会在新环境中)。
== cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ ==
挂载必要的文件系统
需要提供的文件系统是:
/proc/ 一个pseudo文件系统(看起来像是常规文件,事实上却是实时生成的),由Linux内核暴露的一些环境信息
/sys/ 一个pseudo文件系统,像要被取代的/proc/一样,比/proc/更加有结构
/dev/ 是一个包含全部设备文件的常规文件系统,一部分由Linux设备管理器(通常是udev)管理
/proc/位置将要挂载到/mnt/gentoo/proc/,而其它的两个都是绑定挂载。字面上的意思是,例如/mnt/gentoo/sys/事 实上就是/sys/(它只是同一个文件系统的第二个条目点),而/mnt/gentoo/proc/是(可以说是)文件系统的一个新 的挂载。
==
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 ==
附注
–make-rslave操作是稍后安装systemd支持时所需要的。

Debian等发行版可能需要:
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
chmod 1777 /dev/shm

进入Chroot:
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
挂载 boot 分区
mount /dev/sda1 /boot

==
选择Profile并更新系统
使用快照更新Portage:(可以跳过)==
emerge-webrsync
==
使用rsync同步:==
emerge --sync

使用eselect news read命令阅读新闻
选择合适的配置文件
使用eselect,你能看到当前系统正在使用什么配置文件,现在来使用profile模块:

eselect profile list
这里我们安装带systemd的,所以选择带有systemd的那一项(这里暂时不选带Desktop Gnome的会出错,具体原因没深究,未知)
eselect profile set x(x代表序号

更新@world集合
emerge --ask --verbose --update --deep --newuse @world (时间很长,可以选择睡觉,看电影,玩了)(如果选择了桌面环境配置文件,则此过程可能大大增加安装过程所需的时间量。 时间紧迫的人可以通过这个“经验法则”工作: 配置文件名称越短,系统的特定属性越少@world set; @world设置的特定性越低,系统将需要的软件包越少)

如果碰到未满足的xxx或者其它提示:
etc-update # 然后输入-3就能更新配置,确保再次运行时没有可更新的文件

五、配置时区和地区

**
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
配置fstab,安装文件系统工具(使用genfstab
下载好了移动至gentoo根目录
chmod +x genfstab
./genfstab / > /etc/fstab
nano /etc/fstab #检查下此文件
**
上面的脚本在chroot环境下不能正常使用-U参数在fstab写入分区的UUID
挂载点主要有俩种格式:
/dev/sda1 /boot vfat或ext2 defaults 0 0
/dev/sda2 / ext4或btrfs,jfs,xfs.etc defaults 0 0
/dev/sda3 none swap defaults 0 0
这里的UUID通过blkid查看
UUID=xxxxxxxxxxx /boot vfat或ext2 defaults 0 0
UUID=xxxxxxxxxxx / ext4或btrfs,jfs,xfs.etc defaults 0 0
UUID=xxxxxxxxxxx none swap defaults 0 0

安装NetworkManager(很好的一个网络管理工具,简单、方便、无繁琐的配置)
**
emerge -av networkmanager
systemd添加开机服务:
systemctl enable NetworkManager
**

安装源码
emerge --ask sys-kernel/gentoo-sources
emerge --ask sys-kernel/linux-firmware(很重要的一个东西,驱动包,不安装无法进入系统)

手动配置
cd /usr/src/linux
make menuconfig
make -jX #将X替换为你想编译时的线程数
make modules_install
make install
建议使用genkernel后期再根据需求更改内核设置
emerge -av genkernel
genkernel --menuconfig all
genkernel --install initramfs
安装GRUB并创建用户
如果你是UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Gentoo
grub-mkconfig -o /boot/grub/grub.cfg

创建一个管理员并设置密码:
使用passwd命令设置root密码
useradd -m -G users,wheel,portage,usb,video 这里换成你的用户名(小写)
passwd 用户名

可以重启进入系统了,安装桌面环境的后面再写吧,累了

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值