Skip to content

Setting up Arch Linux with BTRFS, snapshots and full disk encryption including /boot (UEFI only)

License

Notifications You must be signed in to change notification settings

SpanishHans/Archsetup

 
 

Repository files navigation

Introduction

This is my installer for Arch Linux. It sets up a BTRFS system and full snapper support (both snapshotting and rollback work!).

The script is a fork of Arch-Setup-Script, which itself is based on easy-arch. However, some changes are made to remove disk encryption and the hardenind done in Arch-Setup-Script. Some inspiration and changes are taken from the following Youtube video and from This guide.

How to use it?

  1. Download an Arch Linux ISO from here
  2. Flash the ISO onto an USB Flash Drive.
  3. Boot the live environment.
  4. Connect to the internet. iwcli for wifi. auto for ethernet. (Get the custom iso with extra tools from: Repo Release and then run chmod +x /root/NetworkInstaller.sh && /root/NetworkInstaller.sh)
  5. git clone https://github.com/SpanishHans/ArchSetup/ && cd ArchSetup && chmod u+x ./install.sh && ./install.sh
  6. After install, reboot to system and log as root.

Note

  1. All scripts must be run from the root user to avoid permission issues.
  2. Paru commands shall be ran as the syadmin user because mkpgk cant be ran as root.

Snapper behavior

The partition layout I use allows us to replicate the behavior found in openSUSE 🦎

  1. Snapper-rollback works! You will no longer need to manually rollback from a live USB like you would with the @ and @home layout suggested in the Arch Wiki.
  2. Automatic snapshots on pacman install/update/remove operations
  3. Directories such as /var/log, /var/crash, /var/tmp, /var/spool, /var/lib/libvirt/images are excluded from the snapshots as they either should be persistent or are just temporary files.# ArchSetup

ArchSetup

About

Setting up Arch Linux with BTRFS, snapshots and full disk encryption including /boot (UEFI only)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%