准备!

_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 用户名

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

Gentoo安装教程(Systemd+Gnome)相关推荐

  1. linux gentoo安装,Gentoo安装教程——萌新向

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 手动配置内核 激动人心的时刻到了,手动配置内核!先下载内核源代码,官方推荐使用gentoo-source,然后进入源代码目录,进行设置.详细的设置可以看金 ...

  2. amd64/UEFI/systemd/gnome/gentoo安装过程记录

    注意 本人使用 install-amd64-minimal-20220123T170538Z.iso stage3-amd64-desktop-systemd-20220116T170534Z.tar ...

  3. Linux系统简介-虚拟机安装教程(保姆级)-Linux常用命令

    Linux系统简介-虚拟机安装教程-Linux常用命令 1.Linux系统简介 1.1Linux系统的历史 1.2Linux系统的特点和优势 1.3Linux发行版的分类 2.虚拟机的安装教程 2.1 ...

  4. Kali Linux 安装教程-转

    rootoorotor昨天折腾了 Kali Linux 1.0,把大概的配置过程记录下来,希望对想接触或使用Kali Linux的同学有所帮助.   请注意: 1.本文为面向新手的教程,没技术含量,没 ...

  5. 独家 | 手把手教你用Python 3创建用于机器学习开发的Linux虚拟机(附安装教程代码)

    原文标题:How to Create a Linux Virtual Machine For Machine Learning Development With Python 3 作者:Jason B ...

  6. Zabbix的客户端安装教程

    Zabbix的客户端安装教程 一.Zabbix客户端及其它相关介绍 二.Zabbix客户端安装步骤 三.测试安装结果 一.Zabbix客户端及其它相关介绍 1.zabbix是一个基于WEB界面的提供分 ...

  7. Mysql数据库的安装教程

    Mysql数据库的安装教程 一.Mysql数据库介绍 二.Mysql数据库特性 1.Mysql现状 2.Mysql的几个特点 三.Mysql数据库中术语介绍 四.检查MySQL 是否安装 1.检测系统 ...

  8. TDengine安装教程

    TDengine安装教程 前言 TDengine的安装十分简单,可以有以下三种安装方式,源码安装.通过Docker容器进行安装.通过安装包进行安装.但是使用源码安装较为复杂,通过docker的方式最为 ...

  9. archbang linux安装教程,ArchLinux系统安装教程

    前言 以前一直听说Arch在Linux的各大发行版本中是对新手最不友好的一个,前几天安装了一下果然如此,一步没弄好就得重新安装,考验我的耐心.没办法,谁让Arch是最有逼格的那一个呢.小编呕心沥血安装 ...

  10. pc-bsd安装教程_桌面用户的BSD:PC-BSD的回顾

    pc-bsd安装教程 当我90年代中期开始进入开源世界时,获取安装介质的最简单方法是从在线商店购买CD套件并将其运送给您. 出于对尝试使用不同操作系统的兴趣,我总是购买了包含所有发行版的巨型捆绑包. ...

最新文章

  1. 本地应用 v-for 指令
  2. C#基础笔记(第九天)
  3. 专访iOS开发框架BeeFramework作者郭虹宇
  4. from import 导入时找不到module的解决办法(Python模块包中_init_.py文件的作用)
  5. mysql目录下没有配置文件_MySQL没有my.cnf配置文件如何解决
  6. javafx11 最佳实践_JavaFX移动应用程序最佳实践,第2部分
  7. Matlab计时函数
  8. 人工智能在语音和数字图像处理领域有哪些具体化应用_智能呼叫中心系统有哪些优势...
  9. Aprior算法简化算法——FP-Tree思想与实现
  10. Python 安装与环境变量配置
  11. Meteor 加入账户系统
  12. 小迪和小捷的太空之旅——地球篇
  13. 软考信息系统项目管理师_信息系统项目管理基础---软考高级之信息系统项目管理师008
  14. 基于visual Studio2013解决面试题之1201链表去重
  15. 【数论】—— 整数质因子分解
  16. pandownload 替代品_Pandownload倒下了,找一款替代品
  17. Linux操作系统——桌面和终端基本操作【快捷键、一般模式、编辑模式、 命令模式】
  18. 软件著作权申请步骤流程
  19. 快速切换node版本
  20. 故障管理流程与故障管理功能开发的设计

热门文章

  1. 步骤教学 :安装下载Oracle VM VirtualBox + 安装win7 win10镜像文件
  2. python 决策树分类 泰坦尼克生存预测
  3. 神探狄仁杰是一个Debug高手
  4. 怎样成为优秀的测试工程师
  5. java区间并集_区间并集求解算法实现
  6. 基于美国人口数据分析
  7. 节点英雄榜之脑海链:构建区块链化的知识变现经济生态
  8. linux编辑框软键盘自动弹出,带输入框的Dialog自动弹出软键盘
  9. 【数据库】数据库课程设计一一疫苗接种数据库
  10. SDWAN-虚拟网卡(最全详解)