https://kdaye.com/nas-htpc-router/
下载ISO
https://www.archlinux.org/download/
制作U盘镜像工具
https://www.pendrivelinux.com/downloads/Universal-USB-Installer/
插上设备启动设备按F11从U盘启动
验证启动模式是否是UEFI
ls /sys/firmware/efi/efivars
如果文件不存在,则系统可能以 BIOS 或 CSM 模式启动.
检查是否联网
ping -c 3 archlinux.org
设置时间
timedatectl set-ntp true
建立硬盘分区
检查下硬盘是否被识别
fdisk -l
通常会显示一个硬盘、一个USB
用GTP分区
cgdisk /dev/sda
创建EFI分区
选择 New
(或者按N
) – Enter
以在第一个扇区 (2048) 上开始创建分区 – 输入 512MB – 输入EF00 修改默认的十六进制码 (8300) – 分区名/boot。
创建根目录分区
选择 New
(或者按N
) – Enter
以在第一个扇区 (XXXXXX) 上开始创建分区 – 输入 20GB – Enter
默认的十六进制码 (8300) – 分区名/。
创建/home
选择 New
(或者按N
) – Enter
– Enter
– Enter
以保持默认的十六进制码 (8300) – 分区名/home。
最终分区如下
Part. # Size Partition Type Partition Name
----------------------------------------------------------------
1007.0 KiB free space
1 512.0 MiB EFI filesystem /boot
2 20 GiB Linux filesystem /
2 91 GiB Linux filesystem /home
如果您想从头开始,直接选 Quit 或按 Q 退出,该动作不会保存任何变动,接着您再执行 cgdisk.
如果您对当前的分区方案感到满意,选 Write 或按 Shift+W, 完成分区。输入 yes, ,再选 Quit 或按 Q, 可毫无新变动保留地退出。
格式化分区
查看分区情况
fdisk -l
/dev/sda1 512.0 MiB EFI filesystem
/dev/sda2 20 GiB Linux filesystem
/dev/sda3 91 GiB Linux filesystem
选择F32作为EFI /boot的文件系统
mkfs.fat -F32 /dev/sda1
选择btrfs作为/根目录/home的文件系统
mkfs.btrfs /dev/sda2
mkfs.btrfs /dev/sda3
挂载分区
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
mkdir /mnt/home
mount /dev/sda3 /mnt/home
选择镜像
编辑 /etc/pacman.d/mirrorlist
,选择您的首选 mirror. 这个 mirror 列表也将通过 pacstrap 被复制并保存在到系统中,所以请确保设置正确。
添加中国镜像到最上方
添加淘宝镜像到第一条
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
安装
pacstrap /mnt base
错误提示:
[fsck] hook
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
这些问题将在chroot步骤后解决
Fstab (檔案系統列表)
建立 fstab 檔案 (使用 -U 或 -L 選項設置 UUID 或 labels):
genfstab -U /mnt >> /mnt/etc/fstab
Chroot (改變根目錄)
arch-chroot /mnt
时间设置
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc
Locale (語系)
在 /etc/locale.gen
移除 en_US.UTF-8 UTF-8
及其他需要的 localization
前的註釋符號(#),接著生成 locale 訊息:
locale-gen
创建 locale.conf 并提交您的本地化选项 在 locale.conf(5) 中設定您的語系選項。例如:
echo LANG=en_US.UTF-8 > /etc/locale.conf
主机名
echo myhostname > /etc/hostname
编辑/etc/hosts
加一行127.0.1.1 myhostname.localdomain myhostname
设置ROOT密码
passwd
解决error
pacman -Sy
pacman -S btrfs-progs
aic94xx 和wd719xx 固件在AUR里下载安装,等系统安装好了我再安~
启动引导
pacman -S grub
pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
#我的主板是INTEL CPU所以需要安装这个
pacman -S intel-ucode
grub-mkconfig -o /boot/grub/grub.cfg
安装完成
exit
umount /mnt/boot
umount /mnt/home
umount /mnt
reboot
拔掉U盘
重启开机后发现没网络,dhcpcd
等待几秒后有网络了~
或者
#开启这个服务
systemctl start dhcpcd
#开机自启动
systemctl enable dhcpcd.service
创建用户
useradd -m yonghu -s
passwd youghu
给yonghu sudo的权利
安装yaourt
需要解决之前提到2个error
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
这2个固件都在AUR里面有,所以我需要安装yaourt,然后安装着2个固件.
pacman -Sy
pacman -S --needed base-devel
pacman -S git
#以yonghu的身份
su yonghu
git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..
安装固件
yaourt aic94xx-firmware
yaourt wd719x-firmware
安装SSH
安装SSH方便远程管理
#安装
pacman -Sy openssh
#开启这个服务
systemctl start sshd
#开机自启动
systemctl enable sshd.service
一些需要安装的
pacman -Sy xf86-video-intel
pacman -Sy mesa
pacman -Sy alsa-utils
sudo amixer sset Master unmute
# 安装docker
pacman -Sy docker
pacman -Sy docker-compose
systemctl start docker
systemctl enable docker
4T红盘x2 RAID 1
因为4T红盘是装机后添置的,所以写在本章最尾部
fdisk -l
获取硬盘列表
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 469D6B84-595B-4FB4-98D3-BA204895CD26
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 42993663 41943040 20G Linux filesystem
/dev/sda3 42993664 234441614 191447951 91.3G Linux filesystem
Disk /dev/sdb: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sdc: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
组成一个名为raid4t的raid1卷
mkfs.btrfs -L raid4t -d raid1 -m raid1 /dev/sdb /dev/sdc
btrfs-progs v4.10.2
See http://btrfs.wiki.kernel.org for more information.
Label: raid4t
UUID: 6d545d2e-2b07-4206-9183-ea9740626510
Node size: 16384
Sector size: 4096
Filesystem size: 7.28TiB
Block group profiles:
Data: RAID1 1.00GiB
Metadata: RAID1 1.00GiB
System: RAID1 8.00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Number of devices: 2
Devices:
ID SIZE PATH
1 3.64TiB /dev/sdb
2 3.64TiB /dev/sdc
挂载
# 按个人喜好创建文件夹并挂载
sudo mkdir /data
mount -L raid4t /data
获得UUID:6d545d2e-2b07-4206-9183-ea9740626510
或用LABEL=raid4t写入自动挂载
vim /etc/fstab
# raid5
UUID=6d545d2e-2b07-4206-9183-ea9740626510 /data btrfs rw,relatime,space_cache,subvolid=5,subvol=/ 0 0
参考:
官方手册