seeu100 / blog

我的博客
https://blog.00002000.xyz/
0 stars 0 forks source link

archlinux 安装 #15

Open seeu100 opened 3 months ago

seeu100 commented 3 months ago

分区

lsblk # 查看硬盘编号

#分区方案
nvme0n1     476.9G disk
├─nvme0n1p1   256M part /boot/efi
├─nvme0n1p2    32G part swap
├─nvme0n1p3    all part /

#sgdisk --zap-all /dev/nvme0n1 # 清空硬盘(非必要,谨慎操作)

cfdisk -z /dev/nvme0n1

# 选择gpt
# EFI分区
# new   ---> 新建分区
# type  ---> linux-root(x86-64)
# write ---> 写入硬盘
# quit  ---> 退出

mkfs.fat -F 32 /dev/nvme0n1p1 #格式化efi分区
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2  # 挂载交换分区

mkfs.btrfs -L arch /dev/nvme0n1p3
mount -t btrfs -o compress=zstd /dev/nvme0n1p3 /mnt
#创建子卷
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷
btrfs subvolume list -p /mnt

umount /mnt

挂载

mount -t btrfs -o subvol=/@,noatime,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2 /dev/nvme0n1p3 /mnt # 挂载 / 目录  #如果没设置默认子卷,需要加上subvol=vol_root进行挂载
# 使用zstd压缩,需要内核中开启相应选项,grub2.04版本支持zstd压缩
# 默认为gzip(compress=on),可选(compress=lzo),不支持lz4
# zstd默认压缩级别是3,可以用compress=zstd:X 更改(0<= X <=15)
#新内核需要 space_cache=v2

mkdir -pv /mnt/{boot/efi,home}
mount -t btrfs -o subvol=/@home,noatime,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2 /dev/nvme0n1p3 /mnt/home # 挂载 /home 目录
mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载 /boot/efi 目录

# 检查无误后开始安装
df -hT
free -h

安装系统

pacstrap -K /mnt base base-devel linux linux-firmware btrfs-progs 
# 如果使用btrfs文件系统,额外安装一个btrfs-progs包

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

arch-chroot /mnt
pacman -S vim grub efibootmgr bash-completion dhcpcd iwd

## 装机软件包
dhcpcd iwd #联网
grub efibootmgr #引导
intel-ucode amd-ucode #处理器微码补丁
bash-completion #命令参数补全

locale和时间

#locale.gen
sed -i -e "s/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/" /etc/locale.gen
sed -i -e "s/^#zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/" /etc/locale.gen
locale-gen

#locale.conf
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
locale

#时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

grub - 系统引导

grub-install --target=x86_64-efi --bootloader-id=arch --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg

最后的收尾工作

systemctl enable dhcpcd iwd #联网
EDITOR=vim visudo #wheel组可以使用sudo
useradd -m -G wheel newuser #新建用户
passwd #设置密码
passwd newuser #设置密码

接下篇 #16 archlinux 配置