gentoo linux 安装记录

这篇博客详细记录了一次Gentoo Linux的安装过程,包括安装前的准备、硬盘分区、挂载子卷、配置编译选项、内核编译等步骤,并提到了SystemRescue作为安装媒介的优点。此外,还涉及了CPU微码、显卡驱动的选择和内核配置优化,以及后续的新系统设置和软件安装。
摘要由CSDN通过智能技术生成


最后更新日期:2024年3月4日
正在重写中~基本完成了
gentoo是非常个性的系统,允许最大化的定制,
特别是内核配置文件,每个人的机器配置不同,内核中的选项要根据自己的机器选择
所以目前内容仅供本人安装使用,不作为教程,
春节期间安装了N遍
主要的问题出在内核上,编译的内核有时候无法引导,有时候少东西,调整中~
内核可以正常启动,开机时有个无害警告,是关于seedrng poolsize,目前没有解决
完全按照这里的步骤安装,目前一切正常,正在Hyprland桌面编译这个内容
可能会有遗漏的部分,大概会是单个软件包的USE设置,记不太清楚了

修改记录:
日期 内容 备注
2024.2.7 修改安装时硬盘号
2024.2.7 修改stage3,使用no-multilib openrc USE也做了相应修改,如果你要安装steam玩游戏,那么不要用no-multilib
2024.2.7 解决启动时swap无法挂载的问题
2024.2.7 安装介质改为gentoo gui livecd
2024.2.15 修改部分安装顺序
2024.2.19 修改安装顺序,合并no-multilib和desktop做为本地profile 合并后会编译大量的包,也可以不合并,后期自己慢慢调整USE flags
2024.2.25 添加Hyprland的安装 不完整
2024.2.25 添加了一张截图
2024.3.4 添加部分个人使用的软件 另外加了两张截图,基本算是设置完成了

安装之前准备工作

先选择好stage3
需要提前考虑好的问题:
	systemd or openrc   #用gentoo就是为是不想用systemd :)   ....
	no-multilib or multilib
	文件系统的选择:ext4,xfs,btrfs 等等
然后就是安装环境,是纯字符界面还是用图形界面安装
个人推荐用带图形界面的livecd,可以一边安装一边看wiki,可以复制粘贴命令,不用手动输入命令
本次安装:
init : openrc    # 既然用gentoo了,就是冲着openrc...
profile : default 
filesystem: btrfs

在这里记录一下安装过程, 也许哪天能用上
在此之前安装了一次Funtoo…
git同步实在是太慢了,不适合我使用

这次用的是SystemRescue9.0 + Rufus 3.17制作LiveUSB
SystemRescue以前是基于gentoo的发行版,不过现在改为基于Arch,不过不影响安装gentoo,理论上来说gentoo可以在任何现有Linux系统上安装
为什么使用SystemRescue
1、有图形界面,可以在安装的时候从gentoo handbook 或者其他教程中复制命令
2、基于Arch Linux ,可以使用genfstab生成fstab文件
3、arch-chroot 命令可以自动挂载 proc sys dev 这些,不用手动输入了 😃
4、可以方便的回滚终端,唯一的遗憾就是不能输入中文

在这里(或者任意gentoo镜像)下载gentoo livegui cd,这个livegui的缺点是无法显示中文…至少我没有找到方法
制作liveusb,个人使用ventoy

制作好liveusb后用U盘重启
默认进入KDE图形界面,设置live系统的power选项,关闭休眠
点击桌面上的gentoo handbook
打开终端,开始安装

有线连接一般情况下网络已经自动配置好了
无线的话参考gentoo handbook吧…我没有无线网卡
测试网络

ip route

ping -c 3 1.1.1.1

curl --location gentoo.org --output /dev/null

硬盘分区

# 查找硬盘
ls -la /dev/disk/by-id
# 设置硬盘变量,方便后续操作
disk=/dev/disk/by-id/ata-CT1000MX500SSD1_2138E5D33BCE
# 清空硬盘,如果硬盘上有其他系统或重要文件,谨慎操作
sgdisk --zap-all $disk
# 分区
# 说明:只分一个区,没有分efi分区,因为我用win11 EFI分区 
sgdisk -n1:0:0 $disk
分区 大小 文件系统 挂载点 补充说明
/dev/sda1 1024M fat32 /efi 和win11/archlinux共用esp分区
/dev/sdc1 all btrfs none 建立子卷挂载

格式化

mkfs.btrfs全部参数

mkfs.btrfs -f -L GENTOO -O block-group-tree $disk-part1
# 如果用ext4或者xfs
# 使用相应的命令 mkfs.ext4 或者 mkfs.xfs

格式化之后用lsblk -f 查检一下,如果不显示LABEL和UUID,就用cfdisk $disk,然后直接退出,再用lsblk -f检查一下,应该就可以显示了

参数说明

参数 全名 说明
-f –force 强制格式化为btrfs
-n –nodesize 指定blocksize 大小,默认为16KiB(16384) ,必须为扇区大小的整数倍和2的幂,且不能超过64KiB(65536)
-L –label 指定文件系统的标签,LABEL名随便取.不能超过256字节…不过没人会弄那么长的标签吧…
-O –features 在格式化时可以启用的功能, 命令 mkfs.btrfs -O list-all 可以列出所有功能列表,默认开启:skinny-metadata,extref,no-holes,free-space-tree
  • 挂载分区并创建子卷
# 创建一个临时文件夹,用来挂载btrfs分区,创建子卷
#注意不要挂载到/mnt,因为gentoo livegui启动后这里有其他的文件挂载到/mnt/下的文件夹
mkdir /mnt/tmp
mount $disk-part1 /mnt/tmp
#创建子卷
#根据自己需要创建子卷,不必照抄
btrfs su cr /mnt/tmp/@
btrfs su cr /mnt/tmp/@boot
btrfs su cr /mnt/tmp/@home
btrfs su cr /mnt/tmp/@var
btrfs su cr /mnt/tmp/@opt
btrfs su cr /mnt/tmp/@snapshot
btrfs su cr /mnt/tmp/@swap

查看一下刚创建的子卷

btrfs subvol list /mnt/tmp
	ID 256 gen 6 top level 5 path @
	ID 257 gen 6 top level 5 path @boot
	ID 258 gen 6 top level 5 path @home
	ID 259 gen 6 top level 5 path @var
	ID 260 gen 6 top level 5 path @opt
	ID 261 gen 6 top level 5 path @snapshot
	ID 262 gen 6 top level 5 path @swap

创建一个32G大小的swapfile,这个根据自己需要创建

btrfs filesystem mkswapfile -s 32g /mnt/tmp/@swap/swapfile

可选:设置默认子卷

# 设置默认子卷
btrfs subvol set-default 256 /mnt/tmp

		#将vol_root子卷设置为默认子卷,挂载时不必使用subvol=vol_root参数
		#但是在需要挂载父卷进行操作的时候需要加上subvolid=5挂载参数
		#本文中如果要操作父卷的话, mount $disk-part1 /mnt/tmp -o subvolid=5

检查是否设置成功

btrfs subvol get-default /mnt/tmp
ID 256 gen 6 top level 5 path @
#卸载父卷
umount /mnt/tmp

挂载子卷

btrfs 全部挂载参数

# 挂载root
# 使用的gentoo官方livecd启动后没有/mnt/gentoo目录,所以需要建立一个目录,这个目录名字随意,不过习惯了用/mnt/gentoo
mkdir -v /mnt/gentoo
mount -t btrfs -o noatime,compress-force=zstd:1 $disk-part1 /mnt/gentoo
#设置默认子卷后,不需要指明子卷,直接挂载
# 使用zstd压缩,需要内核中开启相应选项,grub2.04版本支持zstd压缩
# 默认为gzip(compress=on),可选(compress=lzo),不支持lz4
# zstd默认压缩级别是3,可以用compress=zstd:X 更改(0<= X <=15)

关于压缩使用zstd还是lzo,可以看看这里

 # 挂载子卷
 # subvolid 对应上面 btrfs subvol list /mnt/tmp 列出的子卷ID
mount -t btrfs -o subvol=@boot     $disk-part1 /mnt/gentoo/boot --mkdir
mount -t btrfs -o subvol=@home     $disk-part1 /mnt/gentoo/home --mkdir
mount -t btrfs -o subvol=@var      $disk-part1 /mnt/gentoo/var --mkdir
mount -t btrfs -o subvol
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值