Linux Live Kit Requirements and Compatibility Checks Before You Build
Updated
Before you run the build script, verify three things: your kernel supports squashfs plus either aufs or overlayfs, your source system has been cleaned of hardware-specific settings, and you know how you want persistent changes to work. Linux Live Kit is a set of shell scripts that turns an installed Linux system into a Live ISO, so most failures trace back to one of these prerequisites rather than the scripts themselves.
Kernel module support
The build depends on two kernel capabilities:
squashfs— compresses your filesystem into the Live image. Linux Live Kit's squashfs supports XZ compression including BCJ filters, which is where the compression ratio and decompression speed come from.aufsoroverlayfs— provides the writable overlay layer on top of the read-only compressed filesystem. The current kit uses aufs or overlayfs instead of the older unionfs, which the project describes as a stability improvement.
Most distributions ship these modules already, so the practical check is simply confirming they load. If your kernel lacks them, the build or boot will fail regardless of anything else you configure.
Preparing the source system
The recommended starting point is a normal installation of your favourite distro — Debian is recommended but not required — either on a disk partition or in a folder on your existing system.
Two cleanup steps matter for cross-hardware behaviour:
- Remove udev's persistent net rules and similar distro-specific settings. These bind network interface names and other configuration to the machine you built on. Left in place, they can stop the Live system from working correctly on different hardware.
- Delete unnecessary files to shrink the image. This step is optional, but a smaller source system produces a smaller Live ISO.
Persistent changes and storage
If you want changes to survive a reboot, that depends on DynFileFS, which provides dynamic-size filesystem support. It can write persistent changes even to VFAT or NTFS, so a USB stick formatted with those filesystems is a valid target — you are not limited to a Linux-native filesystem.
What the build produces
After logging in as root and running ./build, the Live Kit ISO image is created in /tmp. For a bootable USB, unpack the generated TAR archive (also in /tmp) onto your USB device and run bootinst.sh from the boot sub-directory. That install script is what makes the device boot under both Linux and Windows.
Quick pre-build checklist
| Check | Why it matters |
|---|---|
squashfs module available |
Required to build the compressed filesystem |
aufs or overlayfs available |
Required for the writable overlay layer |
| udev persistent net rules removed | Prevents failures on different hardware |
| Unnecessary files removed | Reduces final image size (optional) |
| Persistent storage target decided | DynFileFS handles VFAT/NTFS if you need saved changes |
If all five are settled, the build itself is the least likely part to go wrong.