====== Install ====== ===== from archlinux iso ===== install on archiso zfs system from https://github.com/eoli3n/archiso-zfs curl -s https://raw.githubusercontent.com/eoli3n/archiso-zfs/master/init | bash ===== ext4 ===== create partition DISK=ata-SSDPR-CX400-256-G2_GY3042305 sgdisk --clear -g $DISK sgdisk -n3:1M:+512M -t3:EF00 $DISK # boot partition or efi partition parted $DISK set 3 bios_grub on sgdisk -n1:0:0 -t1:8300 $DISK format mkfs.ext4 -L ROOT $DISK-part1 mount mount $DISK-part1 /mnt install arch pacstrap /mnt base linux-lts linux-firmware genfstab -U /mnt >> /mnt/etc/fstab follow https://wiki.archlinux.org/title/installation_guide ==== ZFS ==== Reset disk and create GPT partition schema DISK=/dev/disk/by-id/ata-HFS512G39MND-3510A_FJ64N5235113A4S13 sgdisk --clear -g $DISK Prepare partitions # Run this if you need legacy (BIOS) booting: # sgdisk -a1 -n2:34:2047 -t2:EF02 $DISK # Run this for legacy (BIOS) boot or UEFI booting or raidz pool: sgdisk -n3:1M:+512M -t3:EF00 $DISK parted $DISK set 3 bios_grub on # needed for embedding grub in this partition # and after run these: sgdisk -n9:-8M:0 -t9:BF07 $DISK sgdisk -n1:0:0 -t1:BF01 $DISK Create pool or ... zpool create -o ashift=12 \ -O atime=off -O canmount=off -O normalization=formD \ -O mountpoint=/ -R /mnt -f \ rpool ${DISK}-part1 ... import existing pool zpool export rpool zpool import -R /mnt rpool ... umount everything inside /mnt and remove subfolders zfs mount rpool/ROOT/arch or create raidz pool zpool create -O atime=off -O mountpoint=/ -R /mnt -O canmount=off -O compression=lz4 -O normalization=formD -o ashift=12 \ rpool raidz /dev/disk/by-id/ata-ST4000NM0035-1V4107_ZC10????-part1 create dataset zfs create -o canmount=off -o mountpoint=none rpool/ROOT zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/arch zfs mount rpool/ROOT/arch zfs create -o setuid=off rpool/home zpool set bootfs=rpool/ROOT/arch rpool install base system pacstrap /mnt base echo "rpool/ROOT/arch / zfs rw,noatime,xattr,noacl 0 0" > /mnt/etc/fstab zfs cache [ -f /etc/zfs/zpool.cache ] || zpool set cachefile=/etc/zfs/zpool.cache rpool mkdir -p /mnt/etc/zfs cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache arch-chroot /mnt ===== Install system ===== pacman -Syyu pacman -S base vim add archzfs repo cat >> etc/pacman.conf < basic configuration ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime hwclock --systohc cat > /etc/locale.gen < /etc/locale.conf echo nero > /etc/hostname echo "KEYMAP=it\nFONT=Lat2-Terminus16" > /etc/vconsole.conf edit /etc/mkinitcpio.conf to change HOOKS order HOOKS=(base udev autodetect modconf block keyboard zfs filesystems) regenerate initram mkinitcpio -p linux-lts bios grub pacman -S grub os-prober ZPOOL_VDEV_NAME_PATH=1 grub-install --target=i386-pc /dev/sda ZPOOL_VDEV_NAME_PATH=1 grub-mkconfig -o /boot/grub/grub.cfg uefi grub # exit from chroot mount /dev/sda3 /arch/efi # /dev/sda3 is EFI partition chroot /arch bash mount -t efivarfs efivarfs /sys/firmware/efi/efivars pacman --noconfirm -S grub efibootmgr ZPOOL_VDEV_NAME_PATH=1 grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=arch edit /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="noresume zfs_force=1 libahci.ignore_sss=1 vga=current" generate grub config export ZPOOL_VDEV_NAME_PATH=1 grub-mkconfig -o /boot/grub/grub.cfg root password passwd ==== User ==== pacman -S sudo useradd -m scipio usermod -a -G wheel scipio passwd scipio decomment wheel in /etc/sudoers ==== Basic ==== systemctl start systemd-timesyncd.service systemctl enable systemd-timesyncd.service ==== Gnome ==== pacman -S gnome gpaste network-manager-applet systemctl enable NetworkManager.service systemctl enable gdm nvidia pacman -S nvidia-dmks others pacman -S fish rsync openssh pacman -S libreoffice-fresh-it exit mount | grep -v zfs | tac | awk '/\/mnt/ {print $3}' | xargs -i{} umount -lf {} zpool export rpool reboot