安装 ArchLinux 目前硬件信息 时间: 2022-03-25
Platform : Y900P 2022 i7 3070Ti [EFI] 制作Archlinux U盘启动器.开机进入Linux
准备系统 从arch linux 官网下载镜像,刷到U盘里,重启进入U盘系统,具体方法,这里不过多解释,请自行百度一下。
安装系统 这里是进入到u盘里arch linux之后的操作。安装命令比较多,建议采用另一台电脑通过ssh连接方式复制粘贴命令。
连接网络 1 2 3 4 5 6 7 8 9 rfkill unblock all (解除内核对设备的锁定) ip link set wlan0 up iw dev wlan0 scan | less iw dev wlan0 connect [名称] key 0:[密码] dhclient ping baidu.com
若连接好wifi后,不能ping通百度这些,可能是DNS解析有误。
请配置
打开/etc/resolv.conf第一行添加
打开 /etc/nsswitch.conf 找到hosts那行,将其改为如下
查看是否支持uefi
显示的话,就说明是支持的。
对时 1 timedatectl set-ntp true
磁盘分区 这里需要你对磁盘分区有一定了解。
执行 lsblk 或者 fdisk -l 查看硬盘设备名
这里采用lsblk查看自己的硬盘设备名称,比如我的。
1 2 3 4 5 6 7 nvme1n1 259:0 0 476.9G 0 disk ├─nvme1n1p1 259:1 0 260M 0 part # Windows默认EFI ├─nvme1n1p2 259:2 0 16M 0 part # Windows保留分区 ├─nvme1n1p3 259:3 0 200G 0 part # Windows系统分区 ├─nvme1n1p4 259:4 0 64M 0 part # Linux EFI分区 ├─nvme1n1p5 259:5 0 150G 0 part # Arch Linux系统分区 └─nvme1n1p6 259:6 0 126.6G 0 part # Linux 数据分区
需要分两个区,一个根目录 /,另一个是开机系统的/boot/efi
执行 fdisk /dev/nvme1n1 开始分区, dev/nvme1n1 是硬盘设备名
磁盘类型参数:
我分区的如下
1 2 3 nvme1n1p4 # 64M,用于储存efi nvme1n1p5 : 150G, 用于根分区 nvme1n1p6 : left, 用于数据分区
格式化 1 2 3 /boot/efi分区不能ext4格式: mkfs.ext4 /dev/nvme1n1p5 mkfs.vfat -F32 /dev/nvme1n1p4
挂载 1 2 3 mount /dev/nvme1n1p5 /mntmkdir -p /mnt/boot/efi mount /dev/nvme1n1p4 /mnt/boot/efi
修改镜像地址 可能默认是国外的,下载比较慢,跟换为国内的。
1 cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
打开/etc/pacman.d/mirrorlist 增加
1 2 ## China Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
安装基础包: 1 2 3 pacman -Sy pacstrap /mnt base base-devel linux linux-firmware linux-headers vim
生成 genfstab: 1 genfstab -U /mnt >> /mnt/etc/fstab
进入新系统: 1 arch-chroot /mnt /bin/bash
设置时区 设置为国内上海时区
1 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步硬件时钟
设置语言 打开 /etc/locale.gen 取消下面两行的注释后保存
1 2 3 4 5 en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GB18030 GB18030 zh_CN.GBK GBK zh_CN GB2312
生成语言
编辑 /etc/locale.conf设置默认语言为英文
设置主机名 打开/etc/hostname ,把主机名写进去, 我这里写入的是 arch
打开 /etc/hosts,设置hosts
1 2 3 127.0.0.1 arch 127.0.0.1 localhost ::1 localhost
设置root密码
安装网络包: 1 pacman -S networkmanager dhcpcd
若dns有问题打开/etc/nsswitch.conf,找到hosts那行,将其改为如下
安装 openssh
根据情况
写入服务: systemctl enable sshd 启动服务: systemctl start sshd.service
设置自动连接网络(有线) 1 2 systemctl enable dhcpcd systemctl start dhcpcd.service
安装GRUB 1 2 3 4 5 6 7 mkdir -p /boot/efi/EFI/boot pacman -S grub-efi-x86_64 efibootmgr os-prober grub-install --efi-directory=/boot/efi --bootloader-id=grubcp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi grub-mkconfig -o /boot/grub/grub.cfg
umount分区并重启机器 1 2 exit umount /mnt/boot/efi && umount /mnt && reboot
安装图形界面 开机后启动网络服务 1 2 systemctl enable NetworkManager.service systemctl start NetworkManager.service
启动wpa_supplicant服务 1 2 3 4 5 6 sudo systemctl enable wpa_supplicant.service sudo systemctl start wpa_supplicant.service nmcli dev wifi list nmcli device wifi connect [wifi name] password [wifi password]
安装基本网络命令包 1 pacman -S net-tools dnsutils inetutils iproute2
若网络按安装比较慢,尝试更换源
1 2 3 4 5 6 7 8 vim /etc/pacman.d/mirrorlist # 增加以下内容 ## China Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch ## China Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch ## China Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
安装显卡驱动 安装软件包 mesa,它提供 DRI 和 3D 加速 若需要x86_64下的32位支持,可以从 multilib 安装 lib32-mesa. 要使用 Xorg 2D 加速 DDX 驱动,请安装软件包 xf86-video-ati. 加速视频解码 由 mesa-vdpau 和 lib32-mesa-vdpau 包提供支持
硬件接口服务 参考 xorg-server
安装驱动 1 2 3 4 5 pacman -S xf86-video-intel pacman -S nvidia nvidia-utils nvidia-dkms nvidia-lts nvidia-prime nvidia-settings pacman -S community/nccl
声卡驱动 1 pacman -S alsa-utils pulseaudio pulseaudio-alsa
安装输入设备 1 pacman -S xf86-input-libinput // (xorg-server已经默认安装)
安装触摸板驱动 1 pacman -S xf86-input-synaptics
安装显示管理器 1 2 pacman -S sddm sddm-kcm systemctl enable sddm
安装plasma桌面 1 pacman -S plasma-desktop
安装基本的软件 1 pacman -S dolphin konsole kwrite plasma-pa kscreen
安装中文字体 1 pacman -S ttf-dejavu ttf-liberation wqy-microhei
安装ntfs磁盘的支持
安装中文输入法 可跳过,后续安装更好的输入,搜狗输入法。
安装plasma网络工具托盘
安装plasma音量管理托盘
设置pacman彩色输出 打开/etc/pacman.conf文件 找到被注释的#Color 改为Color,pacman就会输出彩色信息方便查看
安装主题
首次用户目录生成 安装 xdg-user-dirs
1 2 3 4 5 6 pacman -S xdg-user-dirs xdg-user-dirs-update
安装图标 1 pacman -S papirus-icon-theme
添加用户 务必添加一个 用户 ,否则后面sddm显示管理器登录的时候无法登录,sddm不会列出root用户
1 2 3 4 5 6 7 8 9 useradd -m -g users -s /bin/bash i0gan passwd i0gan vim /etc/sudoers
调节亮度 查看亮度最大值:
1 2 3 cat /sys/class/backlight/intel_backlight/max_brightnessecho 100 > /sys/class/backlight/intel_backlight/brightness
我写了个脚本,可以调节亮度:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #! /bin/bash if [ $UID -ne 0 ];then echo 'Please run as root first.' exit fi max=`cat /sys/class/backlight/intel_backlight/max_brightness`echo "The max brightness: $max " read -p "Your brightness:" value min_value=20if [ $value -le $min_value ];then value=$min_value echo 'aa' fi echo $value > /sys/class/backlight/intel_backlight/brightnessecho 'finish'
终端显示电量
再重启以下即可进入图形话界面了。
双显卡问题 这里针对的是Y7000以及Y9000双显卡问题,但显卡可直接跳过。
方法1 关闭独立显卡,使用集成显卡
ref: https://blog.csdn.net/weixin_30418225/article/details/113891206
安装好之后需要修改一些地方 首先,在/etc/modules-load.d下新建bbswitch.conf,并修改为如下内容。这样每次启动都会加载bbswitch模块了
1 2 [系统关闭独立显卡及省电降温设置] bbswitch
然后,在/etc/modprobe.d/下新建bbswitch.conf,并修改为如下内容。这是bbswitch加载的参数,我们让其默认关闭
1 options bbswitch load_state=0
其次,在/etc/modprobe.d/下新建nouveau_blacklist.conf,并修改为如下内容。有时候bbswitch加载了,但是不能关闭显卡,因为有些模块正在占用着,因此要禁掉。
1 2 blacklist nouveau blacklist nvidiafb
最后,在/usr/lib/systemd/system-shutdown/下新建nvidia_card_enable.sh,并修改为以下内容,记得加运行权限。每次reboot的时候,显卡都是关闭的,不管是重启到windows还是linux,都会找不到设备,必须彻底关机才行。解决该问题的办法就是每次重启都启用显卡
1 2 3 4 5 6 7 8 #!/bin/bash case "$1" in reboot) echo "Enabling NVIDIA GPU" echo ON > /proc/acpi/bbswitch ;; *) esac
方法2 增加额外源,若还是出现闪屏失败,可尝试下面的方法,采用
增加archlinuxcn源
1 2 3 4 5 6 7 打开/etc/pacman.conf,在末尾加上 [archlinuxcn] SigLevel = Optional TrustAll Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch #安装key-ring sudo pacman -Sy sudo pacman -S archlinuxcn-keyring
安装yay yaourt bumblebee,这里的i0gan是我的用户名称。
1 2 3 4 5 6 pacman -S yay yaourt pacman -S bumblebee mesa gpasswd -a i0gan bumblebee systemctl enable bumblebeed.service systemctl start bumblebeed.service pacman -S archlinuxcn/optimus-manager # 安装显卡管理软件
参考
Installing Bumblebee with Intel/NVIDIA
Archlinux双显卡安装NVIDIA闭源驱动
方法3 还是闪屏采用一下方法试试。
确保能正常进入桌面,安装必要的软件包
1 $ sudo pacman -S bumblebee bbswitch
把i0gan添加到bumblebee组里
1 $ sudo gpasswd -a i0gan bumblebee
启动bumblebeed服务
1 sudo systemctl enable bumblebeed.service
安装依赖
1 $ sudo pacman -S bumblebee nvidia opencl-nvidia lib32-nvidia-utils lib32-opencl-nvidia mesa lib32-mesa-libgl xf86-video-intel
lib32打头的需要开启multilib,把/etc/pacman.conf
文件中的下面两行取消注释,然后执行pacman -Sy
1 2 # [multilib] # Include = /etc/pacman.d/mirrorlist
配置bumblebee
1 2 3 4 5 6 sudo nano /etc/bumblebee/bumblebee.conf 指定nvidia Driver=nvidia 电源管理指定bbswitch [driver-nvidia] PMMethod=bbswitch
弄好之后重启
检测是否安装成功
安装测试软件
1 $ sudo pacman -S virtualgl
运行测试软件
开启和关闭NVIDIA显卡
查看状态 使用nvidia-smi
命令可以查看NVIDIA 显卡是否已经启动
开启
1 $ sudo tee /proc/acpi/bbswitch <<< ON
1 $ sudo tee /proc/acpi/bbswitch <<< OFF
启用独立显卡切换 通过以上方法禁用掉独立显卡后,很多应用程序也会受到影响,比如wine,那么就有必要启动独立显卡,让我们自己通过简单的命令进行动态切换显卡。
查看启用的显卡状态
1 optimus-manager --status
让bumblebee设备查找到 nivida显卡
ref: https://askubuntu.com/questions/290443/bumblebee-cannot-access-secondary-gpu-error-xorg-ee-no-devices-detected
The following AskUbuntu answer fixed it for me: https://askubuntu.com/a/285638/47280
Basically, you need to edit /etc/bumblebee/xorg.conf.nvidia
and uncomment the following line:
让xorg启用 nivida显卡
ref: https://archived.forum.manjaro.org/t/guide-install-and-configure-optimus-manager-for-hybrid-gpu-setups-intel-nvidia/92196
vim /etc/X11/xorg.conf.d/10-optimus-manager.conf
1 2 3 4 5 6 Section "Device" Identifier "integrated" Driver "modesetting" BusID "PCI:0:2:0" Option "DRI" "3" EndSection
删除掉以上信息
1 2 optimus-manager --status optimus-manager --switch nvidia # 切换到独立显卡。
https://github.com/Askannz/optimus-manager
Bumblebee : optimus-manager is incompatible with Bumblebee since both tools would be trying to control GPU power switching at the same time. If Bumblebee is installed, you must disable its daemon (sudo systemctl disable bumblebeed.service
, then reboot). This is particularly important for Manjaro users since Bumblebee is installed by default.