安装 ArchLinux

First Post:

Last Update:

Word Count:
2.7k

Read Time:
12 min

安装 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
#这里采用连接wifi的形式
rfkill unblock all (解除内核对设备的锁定)
ip link set wlan0 up
iw dev wlan0 scan | less
iw dev wlan0 connect [名称] key 0:[密码]

dhclient # 获取ip 或者dhcpcd
# 发现配置dns解析有误
ping baidu.com # 测试网络

若连接好wifi后,不能ping通百度这些,可能是DNS解析有误。

请配置

打开/etc/resolv.conf第一行添加

1
nameserver 8.8.8.8

打开 /etc/nsswitch.conf 找到hosts那行,将其改为如下

1
hosts:    files dns 

查看是否支持uefi

1
ls /sys/firmware/efi/ 

显示的话,就说明是支持的。

对时

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 /mnt
mkdir -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
# linux 是Linux内核

生成 genfstab:

1
genfstab -U /mnt >> /mnt/etc/fstab

进入新系统:

1
arch-chroot /mnt /bin/bash

设置时区

设置为国内上海时区

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

同步硬件时钟

1
hwclock --systohc # 也可以[--utc]

设置语言

打开 /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

生成语言

1
locale-gen 

编辑 /etc/locale.conf设置默认语言为英文

1
LANG=en_US.UTF-8

设置主机名

打开/etc/hostname ,把主机名写进去, 我这里写入的是 arch

1
arch

打开 /etc/hosts,设置hosts

1
2
3
127.0.0.1     arch
127.0.0.1 localhost
::1 localhost

设置root密码

1
passwd root

安装网络包:

1
pacman -S networkmanager dhcpcd

若dns有问题打开/etc/nsswitch.conf,找到hosts那行,将其改为如下

1
hosts:    files dns 

安装 openssh

1
pacman -Sy 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到磁盘上
grub-install --efi-directory=/boot/efi --bootloader-id=grub
cp /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
# 查看 wifi 列表:
nmcli dev wifi list
# 连接wifi
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
pacman -S 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
#xf86-video-intel intel显卡驱动
#xf86-video-ati AMD显卡驱动

声卡驱动

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磁盘的支持

1
pacman -S ntfs-3g

安装中文输入法

可跳过,后续安装更好的输入,搜狗输入法。

1
# pacman -S fcitx fcitx-rime fcitx-im kcm-fcitx fcitx-googlepinyin

安装plasma网络工具托盘

1
2
pacman -S plasma-nm
# 系统托盘网络管理工具

安装plasma音量管理托盘

1
pacman -S plasma-pa

设置pacman彩色输出

打开/etc/pacman.conf文件
找到被注释的#Color
改为Color,pacman就会输出彩色信息方便查看

安装主题

1
pacman -S arc-kde

首次用户目录生成

安装 xdg-user-dirs

1
2
3
4
5
6
pacman -S xdg-user-dirs 
#跟新用户目录
xdg-user-dirs-update
# 若不慎删除了某个默认用户文件夹,使用如下命令强制重新生成家目录文件夹
# xdg-user-dirs-update --force
# 该命令只对当前用户起作用

安装图标

1
pacman -S papirus-icon-theme

添加用户

务必添加一个 用户 ,否则后面sddm显示管理器登录的时候无法登录,sddm不会列出root用户

1
2
3
4
5
6
7
8
9
# 添加i0gan用户,i0gan可替换为你自己的账户。
useradd -m -g users -s /bin/bash i0gan
# 为刚才添加的用户设置密码
passwd i0gan

vim /etc/sudoers
# 在 root ALL=(ALL) ALL 下面添加
# i0gan ALL=(ALL) ALL
# 为你刚才创建的用户 添加sudo权限

调节亮度

查看亮度最大值:

1
2
3
#只能root
cat /sys/class/backlight/intel_backlight/max_brightness
echo 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

# 判断是否为root
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"

# input value
read -p "Your brightness:" value

min_value=20

if [ $value -le $min_value ];then
value=$min_value
echo 'aa'
fi

echo $value > /sys/class/backlight/intel_backlight/brightness
echo 'finish'

终端显示电量

1
pacman -S acpi

再重启以下即可进入图形话界面了。

双显卡问题

这里针对的是Y7000以及Y9000双显卡问题,但显卡可直接跳过。

方法1

关闭独立显卡,使用集成显卡

ref: https://blog.csdn.net/weixin_30418225/article/details/113891206

1
pacman -S bbswitch

安装好之后需要修改一些地方
首先,在/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. 确保能正常进入桌面,安装必要的软件包
1
$ sudo pacman -S bumblebee bbswitch
  1. 把i0gan添加到bumblebee组里
1
$ sudo gpasswd -a i0gan bumblebee
  1. 启动bumblebeed服务
1
sudo systemctl enable bumblebeed.service
  1. 安装依赖
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
  1. 配置bumblebee
1
2
3
4
5
6
sudo nano /etc/bumblebee/bumblebee.conf
指定nvidia
Driver=nvidia
电源管理指定bbswitch
[driver-nvidia]
PMMethod=bbswitch

弄好之后重启

检测是否安装成功
  1. 安装测试软件
1
$ sudo pacman -S virtualgl
  1. 运行测试软件
1
$ optirun glxspheres64
开启和关闭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:

1
BusID "PCI:01:00:0"

让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.
打赏点小钱
支付宝 | Alipay
微信 | WeChat