安装Archlinux

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) – EnterEnterEnter 以保持默认的十六进制码 (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

参考:
官方手册

Show Comments