我的 Arch Linux

December 03, 2021

1、准备新分区

UEFI + GPT 分区方案
384M 的 ESP 分区 /boot 分区类型为 ef00
LVM on LUKS (剩余的是全部分给 LVM) 分区类型为 8e00
32G 根分区 /
16G 交换分区 swap
剩余的全部给 /home 分区

gdisk /dev/sda

mkfs.fat -F 32 /dev/sda1
fatlabel /dev/sda1 ESP

cryptsetup luksFormat /dev/sda2
cryptsetup open /dev/sda2 archlvm # archlvm 可随意,使用时保持一致即可

pvcreate /dev/mapper/archlvm
vgcreate ArchGroup /dev/mapper/archlvm # ArchGroup 可随意,使用时保持一致即可
lvcreate -L 30G ArchGroup -n root
lvcreate -L 16G ArchGroup -n swap
lvcreate -l 100%FREE ArchGroup -n home

# `-L ROOR`、`-L HOME`、`-L SWAP` 标卷名可随意
mkfs.ext4 -L ROOT /dev/mapper/ArchGroup-root
mkfs.ext4 -L HOME /dev/mapper/ArchGroup-home
mkswap -L SWAP /dev/mapper/ArchGroup-swap

mount /dev/mapper/ArchGroup-root /mnt
mkdir /mnt/home /mnt/boot

mount /dev/mapper/ArchGroup-home /mnt/home
mount /dev/sda1 /mnt/boot
swapon /dev/mapper/ArchGroup-swap

2、选择镜像源

通过 reflector 选择中国镜像源

reflector -c CN --save /etc/pacman.d/mirrorlist

3、安装系统

查看一下电脑中的显卡类型,这里有 intel, Nvidia 两个

[root@arch ~]# lspci -v | grep -A1 -e VGA -e 3D
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) (prog-if 00 [VGA controller])
        Subsystem: Xiaomi Device 1701
--
01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)
        Subsystem: Xiaomi Mi Notebook Pro [GeForce MX150]

安装基础系统和需要的包

pacstrap -i /mnt \
base base-devel linux linux-firmware grub dosfstools efibootmgr lvm2 \
bash-completion xdg-user-dirs vim git curl openssh man-db man-pages \
networkmanager exfat-utils ntfs-3g bluez-utils pulseaudio-bluetooth \
xf86-video-intel xf86-video-nouveau xf86-input-libinput \
plasma konsole dolphin ark kate okular gwenview \
fcitx fcitx-im fcitx-configtool \
ttf-dejavu ttf-liberation \
adobe-source-code-pro-fonts \
adobe-source-sans-pro-fonts \
adobe-source-serif-pro-fonts \
adobe-source-han-sans-cn-fonts \
adobe-source-han-sans-otc-fonts \
adobe-source-han-sans-tw-fonts \
adobe-source-han-serif-cn-fonts \
adobe-source-han-serif-otc-fonts \
adobe-source-han-serif-tw-fonts

4、生成 fstab 文件

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

5、配置系统

首先,进入 chroot 环境

arch-chroot /mnt

a. locale (语言设置)

编辑 /etc/locale.gen

vim /etc/locale.gen

# 去注释掉这两行
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8

# 重新生成 Locale
locale-gen

export LANG=en_US.UTF-8

# 设置可输入中文的英文环境
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo LC_CTYPE=zh_CN.UTF-8 >> /etc/locale.conf

此处是需要设置一个可以输入中文的英文环境
关于 locale 的设置可以参考 locale 的设定及 LANG、LC_CTYPE、LC_ALL 环境变量

b. timezone (时区设置)

# 如果已经存在 /etc/localtime,创建链接会报错,先删除即可
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

c. hostname (主机名设置)

echo arch > /etc/hostname # arch 可随意,设置喜欢的名字即可

d. network (使用 networkmanager 管理网络连接)

systemctl enable NetworkManager

e. 用户 (设置 root 密码和添加普通用户)

passwd root # 设置 root 密码
useradd -mG wheel ghlandy # 添加 ghlandy 用户,并将其加入 wheel 组
passwd ghlandy

f. grub

mkinitcpio.conf

# 编辑 /etc/mkinitcpio.conf
vim /etc/mkinitcpio.conf

# 添加 keyboard keymap encrypt lvm2
HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems fsck)

mkinitcpio -P
# 查看加密分区的 UUID
blkid

# 编辑 /etc/default/grub
vim /etc/default/grub

# 添加并替换 device-UUID
GRUB_CMDLINE_LINUX="cryptdevice=UUID=device-UUID:archlvm root=/dev/ArchGroup/root"

grub 安装及启动菜单

grub-install --target=x86_64-efi --efi-directory=/boot \
--bootloader-id="Arch Linux Grub Bootloader" --recheck --debug

# 下载 grub 主题
git clone https://github.com/gustawho/grub2-theme-breeze.git
cp -r grub2-theme-breeze/breeze /boot/grub/themes
vim /etc/default/grub
# 设置 grub 主题
GRUB_THEME="/boot/grub/themes/breeze/theme.txt"

# 生成 GRUB 菜单密码
grub-mkpasswd-pbkdf2
# PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.AD966F7FECB6DC59CB04F4FE6BA9FD72DD7E86060CDCAC8F7C5B1834EE2D4A0BF3A74A18FE0FC8B00213A96BC57CD38DC166DB01F935212D36C247D3B4506BF3.A07F2CF96F3CBF8DA678118D56E555E20EAC4D56B9F7885C4C94FC49EE270E871D933727220FFB41625505274E2BB6CD59A72AABFFFA825CDC374F757370A8E1

# 设置 GRUB 密码
vim /etc/grub.d/40_custom
# 粘贴如下内容 输入并确认密码 如 1234 (届时选择 grub 菜单后需要输入用户密码密码,如用户名 axample 密码 1234)
# set superusers=axample
# password_pbkdf2 axample grub.pbkdf2.sha512.10000.AD966F7FECB6DC59CB04F4FE6BA9FD72DD7E86060CDCAC8F7C5B1834EE2D4A0BF3A74A18FE0FC8B00213A96BC57CD38DC166DB01F935212D36C247D3B4506BF3.A07F2CF96F3CBF8DA678118D56E555E20EAC4D56B9F7885C4C94FC49EE270E871D933727220FFB41625505274E2BB6CD59A72AABFFFA825CDC374F757370A8E1


# 生成 grub 启动菜单
grub-mkconfig -o /boot/grub/grub.cfg

--efi-directory 指向 EFI 分区挂载的位置,前面我们挂载到 /boot--bootloader-id 是在进入 BIOS 时显示的名称,这里设置为 Arch Linux Grub Bootloader

g. 设置输入法 (fcitx)

比如我们待会儿用 ghlandy 用户登录到桌面环境,则需要在该用户家目录下建立 .pam_environment,并输入一下内容:

touch /home/ghlandy/.pam_environment
chown ghlandy:ghlandy /home/ghlandy/.pam_environment
vim /home/ghlandy/.pam_environment

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fictx

h. 桌面环境 Plasma

# 启用 sddm breeze 主题
cp -r /usr/lib/sddm/sddm.conf.d /etc
vim /etc/sddm.conf.d/default.conf

[Theme]
Current=breeze

# 开机启动 sddm
systemctl enable sddm

7、重启

退出 chroot 并重启

exit
reboot

Profile picture

GHLandy前端开发攻城狮 | 愿初识如故归,我有粗茶几杯,可否说说你的故事