Installation Instructions for Custom Partitions Could Be Much Easier

I tried to install Qubes and wanted a custom partition. The reason is I wanted a fourth non-Qubes partition and also am using a different operating system on another drive. Apparently, however, in order to do this with LUKS2 (and not using LUKS2 but using Qubes seems bizarre), I needed to use the advanced features.

One thing that is really annoying about this is that there are no clear instructions or guides within the operating system about what is needed. I wish this were easier for users to do. Many times someone doing an install like that is offline at the time and trying to go online to figure out what to do is hard. A short paragraph about what to do once there inside the install would really make things more accessible for non-experts.

3 Likes

I had a similar situation. I wanted to install Qubes on half of an ssd and leave the rest unformatted (with the intention of eventually formatting it and having it behave as a block device that I could attach to VMs).

I still have no idea how to do that. As you point out if you go custom, it doesn’t tell you what a “normal” installation would do (and that’s almost what I wanted to do).

Eventually I just set up the two partitions outside of the installer, then told the Qubes installer to use the first one and let it do its thing automatically.

2 Likes

It occurs to me that this issue could be alleviated by having the installer fill in the values it would use and let people edit them, rather than just a blank line.

1 Like

Anything would be better than the way it is.

Does this mean if I take my existing Qubes install on 3 partitions and merged them, but left the fourth intact, I could do a typical LUKS2 install on the 3 merged partitions?

1 Like

I eventually was able to do this by using another computer while doing the installation to look things up, but this is inconvenient for many users.

It is not clear based on the manual partitioning information provided which is the main section that holds data and how to enlarge that. Although it’s easy to confirm online, it would be better if there were a help section there. When I try to open the help section, it didn’t show anything.

1 Like

I completely agree. In my opinion, it should be stated somewhere that, by default, partitions are created like this, e.g.:

Disk
├─ EFI (/boot/efi, FAT32, 512MB)
├─ Boot (/boot, ext4, 1GB)
└─ Encrypted LVM PV (occupies rest of the disk)
    VG qubes_dom0
    ├─ LV swap (linear)
    ├─ LV pool00 (thin pool for dom0 root `/`)
    │    └─ LV root (thin LV, automatically created during installation?)
    └─ LV vm-pool (thin pool for AppVMs)

(Note: this example is most certainly not correct. I wasn’t completely able to figure out what is going on in the default case. If someone knows better, please correct me.)

Then, users who wish to manually partition the system could easily see what they need to change. Most likely just the size of the encrypted LVM partition.

3 Likes

Even for this, it would be nice if it said in plan language what each thing is.

Here is an example of what could be listed in help:

Disk

This is the physical storage device, like a hard drive or SSD, where all your data is stored.

1. EFI (/boot/efi, FAT32, 512MB)

  • EFI: This is a special partition that helps your computer start up. It contains files that tell the computer how to boot the operating system.
  • /boot/efi: This is the location on the disk where the EFI files are stored.
  • FAT32: This is a type of file system used for the EFI partition. It’s simple and works well for booting.
  • 512MB: This is the size of the EFI partition. It’s small because it only needs to hold the boot files.

2. Boot (/boot, ext4, 1GB)

  • Boot: This is another partition that contains files needed to start the operating system.
  • /boot: This is the location on the disk for these boot files.
  • ext4: This is a type of file system used for the Boot partition. It’s more advanced and can handle larger files and more data.
  • 1GB: This is the size of the Boot partition. It’s a bit bigger than the EFI partition because it holds more files.

3. Encrypted LVM PV (occupies rest of the disk)

  • Encrypted LVM PV: This is a special area on the disk that is encrypted (made secure) and uses LVM (Logical Volume Management) to manage storage. It takes up the rest of the disk space after the EFI and Boot partitions.
VG qubes_dom0
  • VG: This stands for Volume Group. It’s a way to group together different storage areas (logical volumes) so they can be managed easily.
  • qubes_dom0: This is the name of the volume group. It’s used for the main part of the Qubes OS system.
1. LV swap (linear)
  • LV swap: This is a logical volume used for “swap” space. Swap space is like extra memory that your computer can use when it runs out of RAM. It helps keep things running smoothly.
  • linear: This means that the swap space is set up in a straightforward way, using a continuous block of space.
2. LV pool00 (thin pool for dom0 root /)
  • LV pool00: This is a logical volume that acts as a “pool” for storing files for the main operating system (dom0).
  • thin pool: This means it can efficiently use space by only using what is needed, rather than reserving a lot of space upfront.
  • for dom0 root /: This indicates that this pool is used for the main part of the operating system (the root directory).
3. LV root (thin LV, automatically created during installation?)
  • LV root: This is a specific logical volume within the pool that contains the main files for the operating system.
  • thin LV: This means it’s a thin logical volume, which is efficient in how it uses space.
  • automatically created during installation?: Yes, this volume is usually created automatically when you install the operating system.
4. LV vm-pool (thin pool for AppVMs)
  • LV vm-pool: This is another logical volume that acts as a pool for storing files for AppVMs (Application Virtual Machines).
  • thin pool for AppVMs: This means it’s designed to efficiently store data for multiple virtual machines that run applications separately from the main system.

When considering the sizes of different partitions and logical volumes in a Qubes OS setup, the optimal sizes can depend on your specific use case and how you plan to use your system. Here’s a breakdown of what to consider if you have more space, along with the advantages and disadvantages of adjusting sizes:

1. EFI Partition

  • Size: Typically, 512MB is sufficient for the EFI partition.
  • If Larger:
    • Advantages: More space could allow for additional boot loaders or recovery tools if needed.
    • Disadvantages: Wasting space that could be used elsewhere, as this partition doesn’t usually need to grow.

2. Boot Partition

  • Size: 1GB is generally enough for most users.
  • If Larger:
    • Advantages: More space can accommodate additional kernel images or boot configurations, which might be useful for advanced users or those testing multiple kernels.
    • Disadvantages: Again, it may waste space that could be allocated to other partitions that need it more.

3. Encrypted LVM PV

  • Size: This occupies the rest of the disk after the EFI and Boot partitions.
  • If Larger:
    • Advantages: More space allows for larger logical volumes, which is beneficial if you plan to run many AppVMs or store large amounts of data.
    • Disadvantages: If you allocate too much space here, you may limit the ability to create additional partitions in the future.

a. LV swap

  • Size: Typically, swap space is recommended to be equal to or double the amount of RAM, depending on your usage.
  • If Larger:
    • Advantages: More swap can help if you run out of RAM, especially for memory-intensive applications.
    • Disadvantages: Excessive swap can lead to slower performance if the system relies on it too much instead of using RAM.

b. LV pool00 (for dom0 root /)

  • Size: This should be sized based on how many applications and services you plan to run in dom0.
  • If Larger:
    • Advantages: More space allows for more applications and updates, which is useful if you frequently install software.
    • Disadvantages: If you allocate too much space, it may limit the space available for AppVMs or other logical volumes.

c. LV vm-pool (for AppVMs)

  • Size: This should be sized based on how many AppVMs you plan to create and how much data they will store.
  • If Larger:
    • Advantages: More space allows you to create more AppVMs or run applications that require more storage, which is great for users who need to isolate different tasks.
    • Disadvantages: If you allocate too much space here, it may reduce the space available for other important functions, like dom0 or swap.

Summary of Considerations

  • More Space: If you have more space available, you can afford to increase the sizes of the Boot and LVM partitions, especially for AppVMs, if you plan to run many applications or store large files.
  • Balance: It’s important to balance the sizes based on your usage. If you primarily use a few AppVMs, you might not need a large vm-pool. Conversely, if you run many applications, a larger vm-pool is beneficial.
  • Future Needs: Consider your future needs. If you anticipate needing more space for applications or data, it might be wise to allocate more space to the relevant partitions now rather than later.

Ultimately, the right sizes depend on your specific use case, so think about how you plan to use your system and adjust the sizes accordingly.

1 Like