← All finds

Find No. 032 · Nov 8, 2026 · 1 min read

Casper eats install space

If hop's Linux space is last on the disk, Ubuntu casper still auto adds a writable partition and eats all of it. The install fails out of room in a 1 MiB slice. hop patches nopersistent into the boot menu copy.

Arjun-Ingole/hop
Screenshot of hop

hop is a Windows app that installs Linux next to Windows without a USB stick. It copies the ISO onto a small FAT32 partition on the internal drive and boots it once through the EFI startup list.

Ubuntu live images use casper. When casper finds its own partition, it can call find_or_create_persistent_partition and append a partition labeled writable at the end of the disk for /var/log and /var/crash. On a USB installer that is spare space. On hop's layout the Linux target is often the last free stretch on the disk.

The project's architecture doc walks through what happens when hop's free space has nothing after it. Casper takes all of it. An install into free space then fails, out of room in a 1 MiB partition. What remains is roughly the gap between hop's installer partition and the next 4096 sector boundary. If Windows recovery sits at the end, casper leaves hop's space alone. If a bit of slack remains after another partition, casper may still eat only that tail and leave an empty writable partition behind, which older hop builds misread as a finished Linux install.

The fix is one kernel flag. nopersistent skips the persistent partition setup. hop's Get-CasperBoot injects it into the copied boot menu before the --- separator for each casper based entry. toram already implies it, which is why full disk replace installs never hit the bug.

Source: docs/ARCHITECTURE.md in Arjun-Ingole/hop.