TLDR
How do I create a bootable Ubuntu Live USB that has a compressed filesystem.squashfs
of size greater than 4GB, specifically 4,294,967,295 bytes, the limit of a file for drives formatted in FAT32.
More Detail
I'm trying to create a customized bootable Ubuntu Live USB that does not persist data, but am running into limitations:
- UEFI system requires that your bootdisk resides on FAT32 partition.
- The max file size of a FAT32 partition is 4GB.
What I've Tried
- Cubic which is fantastic, but once I'm done customizing the image the
filesystem.squashfs
can be > 4GB in size, even when using XZ compression - Using this script to build the
filesystem.squashfs
from a currently running installation (preferred) usingmksquashfs
, but I run into the same filesize limit for FAT32 even when using XZ compression
Desired Outcome
- I want a Live Ubuntu USB that does not persist between sessions
- I want to be done with this filesize limit without having to worry about trimming packages or removing installed packaged (I've already ran things like
apt clean/autoclean
etc) - I want to customize and add as many packages as I want, either through some application like Cubic or from some live-running Ubuntu installation without worrying about the squashed FS filesize
To Summarize
- Is it possible to split the
filesystem.squashfs
into multiple files that casper'smenuentry
linux reference to the squashed FS will understand? - Are there alternatives to read-only filesystems other than
mksquashfs
that are compatible with grub/casper? - Is this possibly a chance to write my own package to solve this problem, or would this be too much of an undertaking?