For The Freedom之R9000P(AMD5800hrtx3060)安装Gentoo(一)

2024-02-20 05:40

本文主要是介绍For The Freedom之R9000P(AMD5800hrtx3060)安装Gentoo(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

驰骋纵横之Gentoo安装(一)

本教程采用实体机安装,并且全程远程。之所以安装Gentoo就是应为老子他妈的看不惯windows家用版卖1000多,所以正版我直接删除,想让我在系统花钱简直是痴人说梦(虽然我确实花钱买了系统和office是系统自带的我没办法),所以我的y7000p也是专业版(滑稽),不管怎么说,我生来就是跟制度抗衡,为了自由!
在这里插入图片描述
制作系统这里不再讲解,系统盘的制作跟window差不多,加载linux的安装脚本需要在bios里设置,应为没法截图就不介绍了。百度有的。
这里我在重申下为什么会把文章分为几节,并不是想水,只是技术不行,需要慢慢琢磨,内核编译经常出问题。所以这里先写到如何搭建环境。
我们从加载进去需要在服务器端输入命令开始
查看网卡
ifconfig
在这里插入图片描述
看到这一定会有老哥会问,咦 无线网卡呢。。。
那你输入ifconfig -a
在这里插入图片描述
这就出来了。
1、开启ssh

rc-service sshd start

设置root密码主备远程了

passwd root 

基本配置已经完成,接下来就是令人兴奋的配置了。
全程建议远程安装应为命令可以复制,毕竟当你选择了linux就是选择了舒心稳定。
安装GentooLinux的基础环境我将其分为10步,具体如下

  1. 分盘将硬盘分区
  2. 将硬盘格式化
  3. 创建swap,并挂载
  4. 下载strage
  5. 配置
  6. 进入chroot
  7. 挂载 boot 分区
  8. 更新Portage ebuild 数据库
  9. 选择profile
  10. 更新@world集合

**

分区方法一:

**

查看硬盘分区状态

fdisk -l /dev/nvme0n1

在这里插入图片描述

这个的意思是一块盘三个分区。

分区方法:

cfdisk -z  /dev/nvme0n1

在这里插入图片描述
gpt
在这里插入图片描述

进入如下:

在这里插入图片描述
字符界面如下
在这里插入图片描述
按此方法分区,其中EFI System没有必要搞成1G,我之所以搞成1G是盘大,任性。还有一个需要强调的,如果是第一次分区,会有选项选盘的分区方式,一定要选gdb,因为可以使用UUID
在这里插入图片描述
分区结束并保存
在这里插入图片描述
分区分好后将其格式化

mkfs.vfat /dev/nvme0n1p1
mkfs.btrfs -f /dev/nvme0n1p3
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2

格式化结果如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
盘分好了,接下来就是将盘挂载到目录下

mount /dev/nvme0n1p3 /mnt/gentoo

在这里插入图片描述
将stage3上传至/mnt/gentoo下

这里强烈建议使用openrc,我使用systemd会出现问题。
在这里插入图片描述
按此方法解压

 tar -pxvf stage3-amd64-openrc-20221211T170150Z.tar.xz --xattrs-include='*.*' --numeric-owner

在这里插入图片描述
接下来需要配置make.conf文件。
复制此命令

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

按如下修改

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O3 -pipe -march=znver3"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3"
# NOTE: This stage was built with the bindist Use flag enabled
#PORTDIR="/var/db/repos/gentoo"
#DISTDIR="/var/cache/distfiles"
#PKGDIR="/var/cache/binpkgs"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
MAKEOPTS="-j16"
VIDEO_CARDS="radeon nvidia"
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo"
L10N="en-US zh-CN en zh"
LINGUAS="en_US zh_CN en zh"
GRUB_PLATFORMS="efi-64"
USE_X11="xorg xvfb xnest xephyr xcsecurity unwind udev suid elogind"
USE_KDE1="sdk sddm bluetooth -game accessibility wallpapers thunderbolt grub gtk discover networkmanager desktop-portal crypt display-manager"
USE_KDE2="firewall crash-handler kwallet plymouth"
USE_KDE_EUDEV="kmod rule-generator split-usr"
USE_KDE_ELOGIND="acl audit cgroup-hybrid pam policykit -systemd"
USE_KDE_DBUS="valgrind dbus"
USE_KDE_POLKIT="policykit kde duktape introspection"
USE_KDE_UDISKS="lvm nls acl udisks"
USE_NVIDIA="X wayland strip persistenced modules-sign modules dist-kernel vdpau nvenc nvidia acpi driver compat -kernel-open"
USE_BUMBLEBEE="bbswitch video_cards_nvidia -video_cards_nouveau"
USE_MATLAB="java nsplugin"
USE_OPENCL="nsight profiler rdma sanitizer vis-profiler"
USE_BLENER="openpgl tiff"
USE_GCC="lto cxx fortran graphite go jit modula2 objc-gc pog rush zstd pie nls"
USE_FFMPEG1="opengl openal opus x264 x265 samba oss openssl mp3 vulkan ssh appkit jpeg2k"
USE_FCITX="opencc lua table gtk2 pango xkb cairo enchant autostart introspection"
USE_OPENCL="-opencl"
USE_VNC="dri3 drm server viewer xinerama"
USE_FEH="xinerama inotify exif curl"
USE_FIRMWARE="initramfs unknown-license savedconfig redistributable compress-xz"
USE_ACPI="acpi"
USE_BLUETOOTH="cups btpclient deprecated test-programs readline obex midi mesh extra-tools experimental"
USE_WPA_SUPPLICANT="qt5 tkip wps wimax tdls smartcard privsep p2p ap eap-sim eapol-test fasteap fils hs2-0 mbo uncommon-eap-types readline ps3 tdls"
USE_BTRFS="compress"
USE_ALSA="alisp vnc"
USE="${USE_KDE1} ${USE_NVIDIA} ${USE_X11} ${USE_KDE2} ${USE_MATLAB} ${USE_KDE_ELOGIND} ${USE_KDE_EUDEV} ${USE_KDE_DBUS} ${USE_KDE_POLKIT} ${USE_KDE_UDISKS} ${USE_OPENCL} ${USE_BUMBLEBEE} ${USE_BLENER} ${USE_GCC} ${USE_FFMPEG1} ${USE_FCITX} ${USE_OPENCL} ${USE_VNC} ${USE_FEH} ${USE_FIRMWARE} ${USE_ACPI} ${USE_BLUETOOTH} ${USE_WPA_SUPPLICANT} ${USE_BTRFS} ${USE_ALSA}"
CONFIG_PROTECT="/usr/share/sddm/scripts/Xsetup"
ACCEPT_LICENSE="*"
ACCEPT_KEYWORDS="~amd64"
CHOST="x86_64-pc-linux-gnu"
INPUT_DEVICES="libinput synaptics"
#PORTAGE_TMPDIR="/tmp"
####################################################################################################
#FEATURES="ccache -test"
#CCACHE_DIR="/var/cache/ccache"
####################################################################################################
#FETCHCOMMAND="/usr/bin/aria2c -d \${DISTDIR} -o \${FILE} --allow-overwrite=true --max-tries=5 --max-file-not-found=2 --max-concurrent-downloads=5 --connect-timeout=5 --timeout=5 --split=5 --min-split-size=2M --lowest-speed-limit=20K --max-connection-per-server=9 --uri-selector=feedback \${URI}"
#RESUMECOMMAND="${FETCHCOMMAND}"
####################################################################################################

直接复制就行了。
我要安装kde和谷歌浏览器需要配置package,把下面的内容复制就行。
package的路径在/etc/portage/package.use

>=net-libs/nodejs-18.12.1 inspector
>=x11-base/xorg-server-21.1.6 xvfb
>=dev-lang/python-3.10.9:3.10 tk
# required by media-sound/pulseaudio-daemon-16.1-r6::gentoo[alsa,alsa-plugin]
# required by media-libs/libpulse-16.1-r2::gentoo
# required by kde-plasma/plasma-pa-5.26.4::gentoo
# required by kde-plasma/plasma-pa (argument)
>=media-plugins/alsa-plugins-1.2.7.1-r1 pulseaudio
>x11-drivers/nvidia-drivers-174
# required by kde-apps/kdenlive-22.12.0::gentoo
# required by kde-apps/kdemultimedia-meta-22.12.0::gentoo
# required by kde-apps/kde-apps-meta-22.12.0::gentoo[multimedia]
# required by @selected
# required by @world (argument)
>=media-video/ffmpeg-4.4.3 libass
# required by x11-drivers/xf86-video-amdgpu-22.0.0::gentoo
# required by xf86-video-amdgpu (argument)
>=x11-libs/libdrm-2.4.115 video_cards_amdgpu
>=media-sound/pulseaudio-daemon-16.1-r7 jack
# required by media-sound/jack2-1.9.22::gentoo[opus]
# required by @selected
# required by @world (argument)
>=media-libs/opus-1.3.1-r4 custom-modes

如下图所示
在这里插入图片描述
其中package的内容是
在这里插入图片描述
在系统stage3搭建完成输入如下命令后便可获取CPU_FLAGS_X86

emerge app-portage/cpuid2cpuflags

因为我已经写好了这个软件可以不用装
在这里插入图片描述
AMDcpuz

CPU_FLAGS_X86: aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha ssie sse2 sse3 sse4_1 sse4_2 sse4a ssse3

最重要的一步完成了。接下来直接复制进入chroot模式

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
nano /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

删除原来的源换成清华源

sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage

结果如下
在这里插入图片描述

[DEFAULT]
main-repo = gentoo
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-keyserver = hkps://keys.gentoo.org
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes

这是要进入chroot啦,第一次的内容马上就过半了

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

太麻烦了,要挂载好几遍,建议使用如下代码

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

当然我还是建议直接使用如下命令,如果你只是准备安装gentoo而没有实际行动,我更建议将其写成shell脚本,这样会大大节省复制的时间

chroot /mnt/gentoo /bin/bash && source /etc/profile && export PS1="(chroot) ${PS1}"

在这里插入图片描述

mount /dev/nvme0n1p1  /boot/

将上面的复制运行,并及时挂载/boot
在这里插入图片描述

结果如上图。
那么接下来就是更新数据库了

emerge --sync

在这里插入图片描述

emerge-webrsync

在这里插入图片描述
依次运行上面的命令。
选择需要搭建的环境,我比较喜欢kde,所以我这里选择了8。
查看环境列表,默认是13

eselect profile list

在这里插入图片描述

eselect profile set 8

在这里插入图片描述
设置成功。
使用fstab。这就是为什么开局就让你们选择gdb的原因。
复制如下命令

nano /etc/hosts

在这里插入图片描述
并增加如下ip,这个程序是ArchLinux的

# Github Start
151.101.64.133  raw.githubusercontent.com
# Github End

在当前目录运行wget

wget https://raw.githubusercontent.com/YangMame/Gentoo-Installer/master/genfstab

赋予下载软件的权限

chmod 777 genfstab

使用软件写UUID

./genfstab / > /etc/fstab

查看
在这里插入图片描述
使用blkid

在这里插入图片描述
使用UUID编写,如下图
在这里插入图片描述
更新最新的gcc

emerge -av --oneshot gcc

查看使用的gcc版本选择最新的

eselect gcc list

在这里插入图片描述

eselect gcc set 2
emerge -av --oneshot gcc

在用最新的编译gcc。
然后使用更新。

emerge -auvDN --with-bdeps=y --autounmask-write @world

在这里插入图片描述
在这里插入图片描述

哈哈提前给大家展示下成品。

驰骋纵横Gentoo安装第一步完成。接下来就是难点了,希望大家休息好跟我走进Gentoo安装(二)。

这篇关于For The Freedom之R9000P(AMD5800hrtx3060)安装Gentoo(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/727208

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下