Manual partitioning sanity check

Hello,

I want to try EndeavourOS on my laptop (i5-8250u, 8GB RAM, 250GB SSD). After reading a lot of things and understanding some of them, I think I want to partition my drive thusly (with a few details unclear):

/efi

  • filesystem: FAT32
  • size: 128MiB
  • flags: none

Rationale: FAT32 because it is universally supported. Small size because it will only contain the bootloader with (mostly?) unchanging size. Might still be too small/big? No flags, because the ESP flag doesn’t seem to exist anymore?

/boot

  • filesystem: btrfs or ext4 w/o journaling
  • size: 1024MiB
  • flags: boot

Rationale: Unsure about the filesystem - btrfs recovery features sound nice, but I have seen opinions that for /boot they wouldn’t really matter → recommended ext4 without journal for perf and space saving. 1GiB should be enough for kernels. Boot flag because why not?

no mount point?

  • filesystem: btrfs, encrypted (is there a difference between this and LUKS2 in the installer?)
  • size: remaining space
  • contains root, home and swap subvolumes

Rationale: I want the rest of the space to be taken up by one big btrfs partition, so I won’t have to worry about resizing and stuff and to get the recovery features. I’m unclear on how the subvolumes eventually get mounted - do I need to set it up manually post-install? Swap subvolume would contain a swapfile with CoW disabled. How do I set a fixed filesize for the swapfile (aiming for 8192MiB to enable hibernation)?

Aside from the partitioning topic, I have also seen zRAM mentioned while doing research. I intend to do most demanding task remotely on my other, beefier machine, but having “more” RAM sounds nice anyway? Would allocating 1-2GB to it be helpful?

Whew, I think that’s it. I would really appreciate if someone could take a look at my plan and let me know if it makes any sense whatsoever. Any additional advice will be appreciated :slight_smile:

If you use grub, you can get away with a fairly small size. However, if you use systemd-boot (or ever want to later switch to a distro that does), this will be way too small. Unless you are tight on disk space, I would allocate a minimum of 512MB. We create a 1GiB ESP per default.

I would not recommend a separate /boot partition in most installs, why do you want one?

If you choose systemd-boot, /boot holds almost nothing. Even with grub, the only way I would recommend this is if you want /boot to be unencrypted.

For this, select / for the mountpoint. The installer uses the partition you choose for / to configure the btrfs subvolumes.

No, selected the encryption checkbox creates a luks partition. If you choose systemd-boot, it will be luks2, if you choose grub, luks1.

I don’t see much point in adding a small amount of zram like that. For most desktop use cases, allocating 100% of RAM with an upper cap of 8GB is a proven strategy. However, every situation is different so you need to test for your self what works best with your workload.

1 Like

I’m planning to use systemd-boot, unless you’d advise otherwise. I wanted separate EFI and boot partitions to use “optimal” filesystem for each, although I’m probably overthinking things. Especially, if systemd-boot wouldn’t store kernels in /boot.

So what should I do? Create a 1GiB (would more be helpful?) FAT32 partition mounted to /efi with “boot” flag?

Will it create subvolumes only for those few directories, or all the typical Linux root directories (/usr, /var, /opt…)?

When I have seen it mentioned, people were talking about workstations with like 64GB of memory, but they were only allocating a part of that, 16GB for example. Won’t allocating all of the RAM slow down the whole machine due to compressing/decompressing? Or will it not start doing before the RAM actually fills?

In that case I would definitely not have a separate /boot, that would be a waste of disk space.

Yes.

By default, it will create a subvolume for /, /home, /var/cache, /var/log. You can change the config file before launching the installer if you want something different here but I would urge you to be cautious.

For example, putting /var in a separate subvolume isn’t a great idea on Arch because of the files pacman stores in /var.

Keep in mind, 100% of RAM means that you would be creating 8GB of zram. However, that is compressed so the actual amount of RAM it takes will probably be less than 4GB.

There is no right answer here because workloads vary but I think the above suggestion is a good starting point if you don’t yet know the right balance.

As a side note, a 1GiB /efi and the rest of the disk allocated to encrypted btrfs is exactly what the installer does if you choose “Erase Disk”, select “Btrfs” from the drop down and click the encryption checkbox. You don’t actually need manual partitioning in that case.

1 Like

OK, so it will create a btrfs volume with @, @home, @var/log, @var/cache subvolumes (example names). Then it will mount @ to /, @home to /home and the var ones to /var/log|cache in @? Am I getting this right?

Honestly, I think I’ll have to do some more reading about ZRAM to fully understand its implications. I have come across it at random and just skimmed some articles, which is proving insufficient for understanding and decision-making at this point.

Really? I might just do that then, and compare the results with what I had in mind.

Yes. The last two are named @varlog and @varcache but otherwise that is exactly correct.

There is no rush, you can configure it at any time.

1 Like

Hah, I was just about to edit my comment to ask if it can be modified after install. You’re quick on the draw :slight_smile:

I think that answers all the questions I had. Thanks a lot!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.