Recommend to run in tmux mode
set-window-option -g mode-keys vi
set -g prefix C-a
bind C-a send-prefix
-
Select archlinux source mirror,edit /etc/pacman.d/mirrorlist
-
Check dns server, set it to 114.114.114.114
-
set host name
hostnamectl set-hostname XXXX
-
download helper script
pacman -Sy git git clone https://github.91chi.fun/https://github.com/ssfdust/archinit
edit archinit/clone-archios-zfs.sh as desired
sh archinit/clone-archiso-zfs.sh
sh init
pacman -S zfs-linux-lts
If the command is failed, you should switch to archzfs-testing repo.
sh archinit/init-disk.sh sda
sgdisk -n 4:0:+384G -c 4:"ZFS Vol" -t 4:bf00 /dev/sda
mkfs.vfat /dev/sda3
# the first argument is the zfs partition, the latter is swap memory size
sh archinit/init-zfs.sh sda4 16G
- Check mounts, if there're some errors. Try umount -lf /path/mount, zfs mount -a
# sda3 is the boot partition
sh archinit/init-pacstrap.sh sda3
...Check whether /mnt/etc/hostname is valid.
vim /mnt/etc/fstab
...zd0 is the zfs swap, it should be uuid format
cp -a ~/archinit /mnt/root
vim /mnt/etc/local.gen
arch-chroot /mnt
passwd
useradd -g users -G storage,wheel,power,network,audio,video -m ssfdust
passwd ssfdust
cp -r archinit /home/ssfdust
chown ssfdust:users -R /home/ssfdust/archinit
pacman -Syu
EDITOR=nvim visudo
su - ssfdust
git clone https://github.91chi.fun/https://github.com/ssfdust/dotfiles.git
# config syncthing
syncthing generate
nohup syncthing serve --no-browser > /tmp/syncthing.log &
...Check syncthing log, wait for syncthing to start
syncthing cli config devices add --device-id $(cat uuid)
...Accept the request device and only share the Sync directory on remote
...Check log in local, wait for accept request
nu dotfiles/bin/autoaccept.nu
...Check ~/CloudBox/Sync/apps/clash is ready
...only share the Private directory on remote
nu dotfiles/bin/autoaccept.nu
# config clash
nohup clash -d ~/CloudBox/Sync/apps/clash > /tmp/clash.log &
sh archinit/install-pkgs.sh
cd ~/build
proxychains -q sh download.sh
proxychains -q sh build.sh
cd ~
sh archinit/install-wayfire.sh
sh archinit/install-from-sync.sh
sh archinit/user-disable.sh
cd ~/dotfiles
cp ~/CloudBox/Sync/keys/secrets.yml ~/dotfiles
proxychains -q make headless
# nvim /etc/mkinitcpio.conf
HOOKS=(base udev systemd sd-plymouth autodetect modconf kms keyboard keymap consolefont block sd-zfs filesystems fsck)
# mkinitcpio -p linux-lts
# sh archinit/init-system.sh
umount /mnt/boot
zfs umount -a
# umount -lf /path/to/mount
swapoff /dev/zvol/zroot/swap
zfs export zroot
reboot