my device
Host: RedmiBook Pro 15CPU: 11th Gen Intel i5-11300H (8) @ 4.400GHzGPU: Intel TigerLake-LP GT2 [Iris Xe Graphics]USB drive install ventory
copy archlinux image to ventory push USB driver in target computer
Enter BIOS(UEFI)
reboot from USB driver, then choose archlinux grub2
Here CLI
以下分区、
mktable、mkfs、mkswap会清空选中磁盘/分区的数据。这是当时的全盘安装记录,不适用于保留现有系统的双启动操作。只在已确认的目标空盘,或已决定擦除且备份并验证恢复的目标盘上继续;不要照抄历史设备名/dev/nvme0n1。先备份重要数据,断开不需要的外置盘,并用设备型号、序列号、容量和挂载点核对目标。不能确认时停止,不执行分区或格式化。
下面保留当时的交互笔记,但使用由你手动填写并确认的 $DISK、$ROOT_PART、$SWAP_PART、$EFI_PART。先完成独立的只读确认步骤,分区完成后再核对各分区对应关系;整段笔记包含交互命令和配置摘录,不是可整块执行的 shell 脚本。
lsblk -o NAME,PATH,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINTSread -r -p '已备份并核对型号/序列号后,输入待擦除整盘的绝对路径: ' DISK[[ -b "$DISK" ]] || { printf '不是块设备,停止。\n'; exit 1; }lsblk -o NAME,PATH,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINTS "$DISK"read -r -p "确认擦除 $DISK?请再次输入完整路径: " CONFIRM_DISK[[ "$CONFIRM_DISK" == "$DISK" ]] || { printf '未确认,停止。\n'; exit 1; }# if font smallsetfont ter-132n
systemctl stop reflector.service
iwctldevice liststation wlan0 scanstation wlan0 get-networksstation wlan0 connect WIFIexit
ping www.bilibili.comtimedatectl set-ntp true
lsblkparted "$DISK"(parted)mktableNew disk label type? gptquit68 collapsed lines
cfdisk "$DISK"# then set partition and its type# set 1G EFI system# set 4G swap# set [the rest space] linux root x86-64# quitfdisk -l "$DISK"
# 分区后逐一手动输入实际路径;不要假定分区编号顺序。read -r -p '核对后的 Linux root 分区绝对路径: ' ROOT_PARTread -r -p '核对后的 swap 分区绝对路径: ' SWAP_PARTread -r -p '核对后的 EFI 分区绝对路径: ' EFI_PARTfor PART in "$ROOT_PART" "$SWAP_PART" "$EFI_PART"; do [[ -b "$PART" ]] || { printf '分区路径不是块设备,停止。\n'; exit 1; }done[[ "$ROOT_PART" != "$SWAP_PART" && "$ROOT_PART" != "$EFI_PART" && "$SWAP_PART" != "$EFI_PART" ]] || exit 1lsblk -o NAME,PATH,SIZE,TYPE,FSTYPE,MOUNTPOINTS "$DISK"# 继续前人工确认三个分区都属于目标盘、类型正确且未挂载;上面的 -b 检查不证明这一点。read -r -p '输入 FORMAT 确认清空上述三个分区: ' CONFIRM_FORMAT[[ "$CONFIRM_FORMAT" == FORMAT ]] || exit 1
# linux root x86-64mkfs.ext4 "${ROOT_PART:?先核对并设置 ROOT_PART}"# swapmkswap "${SWAP_PART:?先核对并设置 SWAP_PART}"# EFI systemmkfs.fat -F 32 "${EFI_PART:?先核对并设置 EFI_PART}"
# keep linux root x86-64 firstmount "$ROOT_PART" /mntmkdir /mnt/efimount "$EFI_PART" /mnt/efiswapon "$SWAP_PART"
vim /etc/pacman.d/mirrorlist # Put in the first line Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
pacstrap /mnt base base-devel linux linux-headers linux-firmwarepacstrap /mnt dhcpcd iwd vim bash-completion
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mntln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimehwclock --systohc
vim /etc/locale.gen # uncomment en_US.UTF-8 an zh_CN.UTF-8
locale-genecho 'LANG=en_US.UTF-8' > /etc/locale.confvim /etc/hostname ark233vim /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 ark233
passwd rootpacman -S intel-ucode# or pacman -S amd-ucodepacman -S grub efibootmgrgrub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUBvim /etc/default/grub # set GRUB_CMDLINE_LINUX_DEFAULT loglevel=5# i missed this command in the first installation xDgrub-mkconfig -o /boot/grub/grub.cfg
exitumount -R /mnt# pull out USB driverreboot
# accomplishedafter installation
setfont -d
vim ~/.bash_profileexport EDITOR='vim'
useradd -m -G wheel -s /bin/bash archpasswd arch# still in CLIEDITOR=vim visudo # uncomment %wheel ALL=(ALL:ALL) ALL
vim /etc/pacman.conf # unmount [multilib] section # add these [archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch Server = https://repo.huaweicloud.com/archlinuxcn/$arch
38 collapsed lines
sudo pacman-key --lsign-key "farseerfc@archlinux.org"sudo pacman -S archlinuxcn-keyringsudo pacman -S paru
pacman -Syyu
# learn from https://medium.com/@mynameised/using-keyd-in-hyprland-to-rebind-your-right-alt-key-to-escape-linux-782086c81c75sudo paru -S keydsudo vim /etc/keyd/default.conf [ids]
*
[main] # hold is control, tap is esc capslock = overload(control, esc)
vim ~/.config/hypr/hyprland.conf # add these exec-once = sudo keyd
paru -S fcitx5-im fcitx5-chinese-addons fcitx5-pinyin-zhwiki# add pinyin# ctrl+space switch
vim /etc/environment GTK_IM_MODULE=fcitx # or choose setting as https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GTK_IM_MODULE QT_IM_MODULE=fcitx5 XMODIFIERS=@im=fcitx
# from https://www.bilibili.com/read/cv24998287/paru -S xorg-xrdbvim ~/.config/hyprland.conf monitor = ,highres,auto,2 # exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2 # exec-once = echo 'Xft.dpi:192' | xrdb -merge env = GDK_SCALE,2 env = XCURSOR_SIZE,32
# Chrome# Go to chrome://flags and search for Preferred Ozone platform. From the drop-down menu, select Wayland and restart Chrome.# enable Wayland text-input-v3
paru -S sof-firmware linux-firmwaredotfiles
myDotfiles