昨天折腾了一整天的ArchLinux,这里简单记录一下步骤,以备日后翻阅。

# 1. 联网

# 无线连接

iwctl
device list
station ${WLAN} scan
station ${WLAN} get-networks
station ${WLAN} connect ${WIFI_NAME}
exit

# 2. 前置配置

# 系统时钟

timedatectl set-ntp true
timedatectl set-timezone Asia/Shanghai
timedatectl status

# 镜像源

vim /etc/pacman.d/mirrorlist

# 分区(Btrfs)

需要有以下几个分区:

/boot 引导分区(FAT32)(注:EFI引导在/boot/efi,/boot下会存储系统的IMG)
/ 根目录(btrfs)
/home 用户目录(brtfs)
swap 内存交换分区

注意:
//home 挂载在同一个btrfs文件系统上
sizeof(swap) >= 60% * memory

lsblk # 查看磁盘分区情况
cfdisk /dev/${DISK} #磁盘分区编辑
fdisk -l # 查看分区情况
mkfs.fat -F32 /dev/${BOOT}
mkswap /dev/${SWAP}
mkfs.btrfs -L ${LABEL} /dev/${DISK}

mount -t btrfs [-o compress=zstd] /dev/${DISK} /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create/mnt/@home
btrfs subvolume list -p /mnt #查看子卷情况
umount /mnt

mount -t btrfs -o subvol=/@,[compress=zstd] /dev/${DISK} /mnt
mkdir /mnt/home
mount -t btrfs -o subvol=/@home,[compress=zstd] /dev/${DISK} /mnt/home
mkdir -p /mnt/noot
mount /dev/${BOOT} /mnt/boot
swapon /dev/${SWAP}

# 系统安装

# 安装与配置

pacstrap /mnt base base-devel linux linux-firmware btrfs-progs
pacman -S archlinux-keyring # 更新密钥环
pacstrap /mnt networkmanager vim sudo zsh zsh-completions #也可以换成bash bash-completion

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

# 系统配置

arch-chroot /mnt

vim /etc/hostname
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc # 系统与硬件时间同步
vim /etc/locale.gen # 启用en_US.UTF-8 zh_CN.UTF-8
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf

passwd root

pacman -S [intel-ucode/amd-ucode]

# 系统引导

# grub

pacman -S grub efibootmgr [os-prober] # os-prober用于引导多系统
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=${ID}
vim /etc/default/grub # 配置grub
# 调整GRUB_CMDLINE_LINUX_DEFAULT
# 1.去掉quiet
# 2.loglevel=5
# 3.nowatchdog 提高开关机速度
# GRUB_DISABLE_OS_PROBER=false 用于多系统引导
grub-mkconfig -o /boot/grub/grub.cfg

# 完成安装

exit
umount -R /mnt
reboot

# 3.后续配置

# 网络

systemctl enable --now NetworkManager

nmcli dev wifi list
nmcli dev wifi connect ${WIFI_NAME} password ${PWD}
# 也可使用nmtui

# FastFetch

pacman -S fastfetch

# 关机

shutdown -h now
# 或者
poweroff