diff --git a/docs/Getting Started/Arch Linux/Root on ZFS/1-preparation.rst b/docs/Getting Started/Arch Linux/Root on ZFS/1-preparation.rst index b458e62..382c31c 100644 --- a/docs/Getting Started/Arch Linux/Root on ZFS/1-preparation.rst +++ b/docs/Getting Started/Arch Linux/Root on ZFS/1-preparation.rst @@ -7,8 +7,8 @@ Preparation :local: #. Download - `2021.06.01 `__ - Live ISO and `signature `__. + `2021.08.01 `__ + Live ISO and `signature `__. #. Follow `installation guide on Arch wiki `__ up to **Update the system clock**. @@ -26,10 +26,11 @@ Preparation #. `Add archzfs repo <../0-archzfs-repo.html>`__. -#. Install ZFS:: +#. Install prebuilt ZFS package, corresponding to + `live image kernel version `__:: - LIVE_ZFS_PKG="zfs-linux-2.0.4_5.12.8.arch1.1-1-x86_64.pkg.tar.zst" - LIVE_ZFS_UTILS="zfs-utils-2.0.4-1-x86_64.pkg.tar.zst" + LIVE_ZFS_PKG="zfs-linux-2.1.0_5.13.6.arch1.1-1-x86_64.pkg.tar.zst" + LIVE_ZFS_UTILS="zfs-utils-2.1.0-2-x86_64.pkg.tar.zst" LIVE_ZFS_MIRROR="https://mirror.sum7.eu/archlinux/archzfs" pacman -U --noconfirm ${LIVE_ZFS_MIRROR}/archzfs/x86_64/${LIVE_ZFS_UTILS} || \ pacman -U --noconfirm ${LIVE_ZFS_MIRROR}/archive_archzfs/${LIVE_ZFS_UTILS} diff --git a/docs/Getting Started/Arch Linux/Root on ZFS/2-system-installation.rst b/docs/Getting Started/Arch Linux/Root on ZFS/2-system-installation.rst index bb62de6..9205028 100644 --- a/docs/Getting Started/Arch Linux/Root on ZFS/2-system-installation.rst +++ b/docs/Getting Started/Arch Linux/Root on ZFS/2-system-installation.rst @@ -27,17 +27,7 @@ System Installation #. Create boot pool:: zpool create \ - -d -o feature@async_destroy=enabled \ - -o feature@bookmarks=enabled \ - -o feature@embedded_data=enabled \ - -o feature@empty_bpobj=enabled \ - -o feature@enabled_txg=enabled \ - -o feature@extensible_dataset=enabled \ - -o feature@filesystem_limits=enabled \ - -o feature@hole_birth=enabled \ - -o feature@large_blocks=enabled \ - -o feature@lz4_compress=enabled \ - -o feature@spacemap_histogram=enabled \ + -o compatibility=grub2 \ -o ashift=12 \ -o autotrim=on \ -O acltype=posixacl \ diff --git a/docs/Getting Started/Arch Linux/Root on ZFS/3-system-configuration.rst b/docs/Getting Started/Arch Linux/Root on ZFS/3-system-configuration.rst index 2ed1db0..8dcef7b 100644 --- a/docs/Getting Started/Arch Linux/Root on ZFS/3-system-configuration.rst +++ b/docs/Getting Started/Arch Linux/Root on ZFS/3-system-configuration.rst @@ -97,7 +97,7 @@ System Configuration sed -i 's/#IgnorePkg/IgnorePkg/' /mnt/etc/pacman.conf sed -i "/^IgnorePkg/ s/$/ ${INST_LINVAR} ${INST_LINVAR}-headers zfs-${INST_LINVAR} zfs-utils/" /mnt/etc/pacman.conf - Kernel will be updated manually. See `here <../2-zfs-linux.html>`__. + Kernel will be updated manually. See `here <../1-zfs-linux.html#update-kernel>`__. #. Enable ZFS services:: @@ -112,6 +112,7 @@ System Configuration INST_VDEV=$INST_VDEV" > /mnt/root/chroot echo DISK=\($(for i in ${DISK[@]}; do printf "$i "; done)\) >> /mnt/root/chroot arch-chroot /mnt bash --login + cd ~ #. Source variables:: diff --git a/docs/Getting Started/Arch Linux/Root on ZFS/4-optional-configuration.rst b/docs/Getting Started/Arch Linux/Root on ZFS/4-optional-configuration.rst index 32cfec2..d641db1 100644 --- a/docs/Getting Started/Arch Linux/Root on ZFS/4-optional-configuration.rst +++ b/docs/Getting Started/Arch Linux/Root on ZFS/4-optional-configuration.rst @@ -61,7 +61,8 @@ Supply password with SSH Encrypt boot pool ~~~~~~~~~~~~~~~~~~~ -Note: This will disable password with SSH. +Note: This will disable password with SSH. The password previously set for +root pool will be replaced by keyfile, embedded in initrd. #. LUKS password:: @@ -118,17 +119,7 @@ Note: This will disable password with SSH. #. Recreate boot pool with mappers as vdev:: zpool create \ - -d -o feature@async_destroy=enabled \ - -o feature@bookmarks=enabled \ - -o feature@embedded_data=enabled \ - -o feature@empty_bpobj=enabled \ - -o feature@enabled_txg=enabled \ - -o feature@extensible_dataset=enabled \ - -o feature@filesystem_limits=enabled \ - -o feature@hole_birth=enabled \ - -o feature@large_blocks=enabled \ - -o feature@lz4_compress=enabled \ - -o feature@spacemap_histogram=enabled \ + -o compatibility=grub2 \ -o ashift=12 \ -o autotrim=on \ -O acltype=posixacl \ @@ -260,9 +251,9 @@ boot from it. This enables system recovery and re-installation. mkdir /boot/efi/iso cd /boot/efi/iso - # select a mirror # curl -O https://mirrors.ocf.berkeley.edu/archlinux/iso/2021.06.01/archlinux-2021.06.01-x86_64.iso - curl -O https://archlinux.org/iso/2021.06.01/archlinux-2021.06.01-x86_64.iso.sig - gpg --auto-key-retrieve --verify archlinux-2021.06.01-x86_64.iso.sig + # select a mirror # curl -O https://mirrors.ocf.berkeley.edu/archlinux/iso/2021.08.01/archlinux-2021.08.01-x86_64.iso + curl -O https://archlinux.org/iso/2021.08.01/archlinux-2021.08.01-x86_64.iso.sig + gpg --auto-key-retrieve --verify archlinux-2021.08.01-x86_64.iso.sig Additionally you can build your own live image with `archiso package `__. diff --git a/docs/Getting Started/Arch Linux/Root on ZFS/5-bootloader.rst b/docs/Getting Started/Arch Linux/Root on ZFS/5-bootloader.rst index 8f1629f..fa01a3a 100644 --- a/docs/Getting Started/Arch Linux/Root on ZFS/5-bootloader.rst +++ b/docs/Getting Started/Arch Linux/Root on ZFS/5-bootloader.rst @@ -132,7 +132,7 @@ Finish Installation Set up cron job to snapshot user home everyday:: - dnf install cronie + pacman -S cronie systemctl enable --now cronie crontab -eu ${myUser} #@daily zfs snap $(df --output=source /home/${myUser} | tail -n +2)@$(dd if=/dev/urandom of=/dev/stdout bs=1 count=100 2>/dev/null |tr -dc 'a-z0-9' | cut -c-6) diff --git a/docs/Getting Started/Arch Linux/Root on ZFS/6-recovery.rst b/docs/Getting Started/Arch Linux/Root on ZFS/6-recovery.rst index 416d079..f9ee9ce 100644 --- a/docs/Getting Started/Arch Linux/Root on ZFS/6-recovery.rst +++ b/docs/Getting Started/Arch Linux/Root on ZFS/6-recovery.rst @@ -21,13 +21,14 @@ This section is also applicable if you are in #. On another computer, generate rescue image with:: pacman -S --needed mtools libisoburn grub + grub-install grub-mkrescue -o grub-rescue.img dd if=grub-rescue.img of=/dev/your-usb-stick Boot computer from the rescue media. Both legacy and EFI mode are supported. - Skip this step if you are in GRUB rescue. + Or `download generated GRUB rescue image `__. #. List available disks with ``ls`` command:: @@ -36,20 +37,6 @@ This section is also applicable if you are in hd0 hd1 hd2 hd3 - If you are dropped to GRUB rescue instead of - booting from GRUB rescue image, boot disk can be found - out with:: - - echo $root - # cryto0 - # hd0,gpt2 - - GRUB configuration is loaded from:: - - echo $prefix - # (crypto0)/sys/BOOT/default@/grub - # (hd0,gpt2)/sys/BOOT/default@/grub - #. List partitions by pressing tab key: .. code-block:: text @@ -94,12 +81,10 @@ This section is also applicable if you are in grub> ls (crypto0)/sys/BOOT @/ default/ be0/ -#. Instruct GRUB to load configuration from ``be0`` boot environment - then enter normal mode:: +#. Instruct GRUB to load configuration from ``be0`` boot environment:: grub> prefix=(crypto0)/sys/BOOT/be0/@/grub - grub> insmod normal - grub> normal + grub> configfile $prefix/grub.cfg #. GRUB menu should now appear.