From 6840e65f8107318ebbcf4da06794fa9987521938 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Mon, 21 Sep 2020 11:53:40 +0000
Subject: [PATCH] Use compressed btrfs partition as root

---
 arch-install.sh |   22 +++++++++-------------
 1 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/arch-install.sh b/arch-install.sh
index 3363572..d9f7688 100644
--- a/arch-install.sh
+++ b/arch-install.sh
@@ -1,30 +1,26 @@
 #!/bin/bash
+# Basic install script for an archlinux VM
+# To use as a basic hardware install script, remove qemu-guest-agent from pacstrap's arguments and qemu-ga from systemctl
+# Can comment out my repository if you like, I tend to use it for my VMs
 
 HOSTNAME=VM
 RPASS=root
 DISK=/dev/vda
 PARTNO=1
 LOCALE=en_US.UTF-8
+TIMEZONE=UTC # location in zoneinfo, e.g. Australia/Melbourne
 
-# Partition disk
+# Partition disk will create a new partition on the rest of the empty free space
 printf "n\np\n\n\n\nw\n" | fdisk $DISK
-#(
-#echo n # Add a new partition
-#echo p # Primary partition
-#echo   # Partition number
-#echo   # First sector (Accept default: 1)
-#echo   # Last sector (Accept default: varies)
-#echo w # Write changes
-#) | fdisk $DISK
-mkfs.ext4 "$DISK$PARTNO"
+mkfs.btrfs "$DISK$PARTNO"
 
 # Mount and install
-mount "$DISK$PARTNO" /mnt
+mount -o compress=zstd "$DISK$PARTNO" /mnt
 pacstrap /mnt base linux linux-firmware grub dhcpcd vim qemu-guest-agent
 genfstab -U /mnt >> /mnt/etc/fstab
 
 # Setup locale
-arch-chroot /mnt ln -sf /usr/share/zoneinfo/UTC /etc/localtime
+arch-chroot /mnt ln -sf /usr/share/zoneinfo/$TIMEZONE /etc/localtime
 sed -i -e "s/#$LOCALE/$LOCALE/" /mnt/etc/locale.gen
 arch-chroot /mnt locale-gen
 echo "LANG=$LOCALE" > /mnt/etc/locale.conf
@@ -39,7 +35,7 @@
 # Make boot files and setup grub
 arch-chroot /mnt mkinitcpio -P
 arch-chroot /mnt sh -c "echo root:$RPASS | chpasswd"
-sed "s/GRUB_TIMEOUT=\d*/GRUB_TIMEOUT=\"0\"/" /mnt/etc/default/grub
+sed -i "s/GRUB_TIMEOUT=\d*/GRUB_TIMEOUT=\"0\"/" /mnt/etc/default/grub
 arch-chroot /mnt grub-install $DISK
 arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
 

--
Gitblit v1.9.3