1
0
mirror of https://github.com/tommytran732/Arch-Setup-Script synced 2024-11-13 21:51:33 -05:00
Arch-Setup-Script/README.md

48 lines
2.7 KiB
Markdown
Raw Normal View History

2021-02-01 07:18:08 -05:00
### Introduction
2021-04-10 17:40:40 -04:00
This is my fork of [easy-arch](https://github.com/classy-giraffe/easy-arch), a **script** made in order to boostrap a basic **Arch Linux** environment with **snapshots** and **encryption** by using a fully automated process.
2021-02-01 07:16:56 -05:00
2021-02-03 02:04:07 -05:00
### How does it work?
1. Download an Arch Linux ISO from [here](https://archlinux.org/download/)
2. Flash the ISO onto an [USB Flash Drive](https://wiki.archlinux.org/index.php/USB_flash_installation_medium).
3. Boot the live environment.
2021-04-10 17:26:27 -04:00
4. Connect to the internet.
2021-04-10 17:40:40 -04:00
5. `git clone https://github.com/tommytran732/Arch-Setup-Script/edit/main/README.md`
6. `cd Arch-Setup-Script`
7. `./install.sh`
2021-02-03 02:04:07 -05:00
2021-04-10 17:49:18 -04:00
### Changes to the original project
2021-04-10 17:33:58 -04:00
1. /boot is now encrypted
2. Added option to select your own kernel flavor
3. Removed unnecessary mkinitpcio config and packages
2021-04-10 17:34:42 -04:00
4. Improved BTRFS flags
2021-04-10 17:33:58 -04:00
2021-02-01 05:43:36 -05:00
### Partitions layout
2021-02-01 05:20:58 -05:00
2021-02-01 05:43:36 -05:00
| Partition Number | Label | Size | Mountpoint | Filesystem |
|------------------|-----------|-------------------|------------|------------------------|
2021-04-10 17:24:29 -04:00
| 1 | ESP | 512 MiB | /boot/efi | FAT32 |
2021-04-10 17:40:40 -04:00
| 2 | Cryptroot | Rest of the disk | / | Encrypted BTRFS (LUKS1)|
2021-02-01 05:11:02 -05:00
2021-02-01 07:24:31 -05:00
The **partitions layout** is pretty straightforward, it's inspired by [this section](https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Btrfs_subvolumes_with_swap) of the Arch Wiki. As you can see there's just a couple of partitions:
1. A **FAT32**, 512MiB sized, mounted at `/boot` for the ESP.
2021-02-07 03:46:50 -05:00
2. A **LUKS encrypted container**, which takes the rest of the disk space, mounted at `/` for the rootfs.
2021-04-10 17:24:29 -04:00
3. /boot is **encrypted**.
2021-02-01 05:43:36 -05:00
### BTRFS subvolumes layout
2021-02-01 05:20:58 -05:00
| Subvolume Number | Subvolume Name | Mountpoint |
|------------------|----------------|------------------|
| 1 | @ | / |
| 2 | @home | /home |
| 3 | @snapshots | /.snapshots |
| 4 | @var_log | /var/log |
| 5 | @swap | /swap (optional) |
2021-02-01 07:24:31 -05:00
The **BTRFS subvolumes layout** follows the traditional and suggested layout used by **Snapper**, you can find it [here](https://wiki.archlinux.org/index.php/Snapper#Suggested_filesystem_layout). 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:
2021-02-01 05:43:36 -05:00
1. `@` mounted as `/`.
2021-04-10 17:40:40 -04:00
2. `@boot` mounted as `/boot`.
3. `@home` mounted as `/home`.
4. `@snapshots` mounted as `/.snapshots`.
5. `@var_log` mounted as `/var/log`.
6. `@swap` mounted as `/swap` (_optional_).