Arch Linux: August 2021 update (#185)
Signed-off-by: Maurice Zhou <jasper@apvc.uk>
This commit is contained in:
@@ -7,8 +7,8 @@ Preparation
|
||||
:local:
|
||||
|
||||
#. Download
|
||||
`2021.06.01 <https://mirrors.ocf.berkeley.edu/archlinux/iso/2021.06.01/archlinux-2021.06.01-x86_64.iso>`__
|
||||
Live ISO and `signature <https://archlinux.org/iso/2021.06.01/archlinux-2021.06.01-x86_64.iso.sig>`__.
|
||||
`2021.08.01 <https://mirrors.ocf.berkeley.edu/archlinux/iso/2021.08.01/archlinux-2021.08.01-x86_64.iso>`__
|
||||
Live ISO and `signature <https://archlinux.org/iso/2021.08.01/archlinux-2021.08.01-x86_64.iso.sig>`__.
|
||||
|
||||
#. Follow `installation guide on Arch wiki <https://wiki.archlinux.org/title/Installation_guide>`__
|
||||
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 <https://archlinux.org/download/>`__::
|
||||
|
||||
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}
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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::
|
||||
|
||||
|
||||
@@ -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 <https://gitlab.archlinux.org/archlinux/archiso>`__.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 <https://gitlab.com/m_zhou/bieaz/uploads/4a1b7cefb42723de6eb04f9dc485be3b/grub-rescue.img.7z>`__.
|
||||
|
||||
#. 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user