mirror of
https://github.com/classy-giraffe/easy-arch.git
synced 2025-11-17 19:40:55 +00:00
easy arch mirror
arch-linuxarchlinuxarchlinux-installerbtrfsbtrfs-layoutcollaborategithubgithub-pagesgitkrakenlinuxluks-encryptionmicrosoftvisualstudioscriptsnapshotsstudent-vscode
There is a bug with BTRFS where it uses the same mount option for the first subvolume for any subvolume you mount. That means the nodatacow flag you set on line 74 and 75 are useless. In order to disable CoW, you must add chattr +C to those. https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs(5) |
||
|---|---|---|
| _config.yml | ||
| easy-arch.sh | ||
| LICENSE | ||
| README.md | ||
Introduction
easy-arch is a script made in order to boostrap a basic Arch Linux environment with snapshots and encryption by using a fully automated process.
How does it work?
- Download an Arch Linux ISO from here
- Flash the ISO onto an USB Flash Drive.
- Boot the live environment.
- Set the keyboard layout by using
loadkeys. - Connect to the internet.
- Run this
bash <(curl -sL https://git.io/JtRu2).
Partitions layout
| Partition Number | Label | Size | Mountpoint | Filesystem |
|---|---|---|---|---|
| 1 | ESP | 512 MiB | /boot | FAT32 |
| 2 | Cryptroot | Rest of the disk | / | BTRFS Encrypted (LUKS) |
The partitions layout is pretty straightforward, it's inspired by this section of the Arch Wiki. As you can see there's just a couple of partitions:
- A FAT32, 512MiB sized, mounted at
/bootfor the ESP. - A LUKS encrypted container, which takes the rest of the disk space, mounted at
/for the rootfs.
BTRFS subvolumes layout
| Subvolume Number | Subvolume Name | Mountpoint |
|---|---|---|
| 1 | @ | / |
| 2 | @home | /home |
| 3 | @snapshots | /.snapshots |
| 4 | @var_log | /var/log |
| 5 | @swap | /swap (optional) |
The BTRFS subvolumes layout follows the traditional and suggested layout used by Snapper, you can find it here. I only added a swap subvolume in case you need a swapfile, but it's totally optional. You'll be asked if you want it or not during the script execution. Here's a brief explanation of the BTRFS layout I chose:
@mounted as/.@homemounted as/home.@snapshotsmounted as/.snapshots.@var_logmounted as/var/log.@swapmounted as/swap(optional).