Large Persistent Casper Partition on an Ubuntu EFI Live USB
This article was last edited over 3 years ago. Information here may no longer be accurate. Please proceed with caution, and feel free to contact me.
YUMI and UNetbootin are both very user-friendly and simple applications for creating bootable USB drives with persistence. I highly recommend trying those first if you want persistence. They are very helpful and may do exactly what you need with much less effort.
If those options do not suit your needs, then mkusb might fit the bill.
First, get access to an Ubuntu based machine and install
mkusb
.
sudo apt-get update
sudo add-apt-repository ppa:mkusb/ppa
sudo apt-get update
Connect your target flash drive on which you want Xubuntu with persistence
I find the UI and syntax for mkusb
a bit hectic, but
I must admit, it is the only reliable solution I have found (more
on this below).
Run mkusb
.
sudo -H mkusb-11 ~/xubuntu.iso p
When prompted, choose your target USB drive.
Follow the prompts.
Choose GPT
for the partition table, and use
100
for the size of the persistence.
Once done, your drive should be bootable. Congratulations. Your USB should now be bootable on BIOS and EFI systems, which means both PCs and Macs. The USB drive should have persistence as well so that your changes will be saved between reboots.
Other options
It is worth pointing out that you can simply dd
a
Xubuntu (or any modern Ubuntu) iso
image to a flash
drive if you simply want a bootable USB drive without persistence.
Unfortunately, there is a known bug around using persistence partitions for Ubuntu-based live USBs. The bug seems to come and go between releases, and is currently an issue in the 16.04.1 image. Creating and using a persistent partition should be a simple process, but that Ubuntu persistence bug complicates things.
The bug prevents the live USB from properly using the
casper-rw
partition. The bug makes it so that only
the casper-rw
file will mount properly, and
not the casper-rw
partition. It is very
annoying and hard to debug. There are
some workarounds, but I decided to choose another implementation instead of
implementing them.
A strike against YUMI and UNetbootin is that they are limited to 4
GB since that is a hard limit on fat32
filesystem
file sizes. YUMI and UNetbootin both simply use a file for the
persistent storage so they are affected by that limit.
mkusb
uses a partition and so is not limited in the
same way.