Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Linux Live Kit?
Linux Live Kit is a set of shell scripts for turning an installed Linux system into a bootable live ISO or USB image. You install and configure a distribution on a disk partition or in a folder, run the build script as root, and the kit produces a live image in /tmp. The generated TAR archive can be unpacked to a USB device, where bootinst.sh makes it bootable. The project is aimed at developers and tinkerers who want a custom live distribution rather than a general desktop tool.
What it actually does
The workflow described on the site is deliberately manual:
- Start from a normal installed distro, Debian recommended but not required.
- Ensure the kernel supports squashfs and either aufs or overlayfs.
- Optionally strip unnecessary files and remove udev persistent net rules so the image behaves on different hardware.
- Download the kit, adjust
.configif needed, and run./build. - Write the resulting image to CD/DVD or unpack it to USB.
The live system can also keep persistent changes through DynFileFS, including on VFAT or NTFS drives, and can load its data from a different directory or an ISO file.
Who it suits
This is for someone comfortable with the command line, kernel modules and root-level system changes. If you want a ready-made live USB writer with a graphical interface, this is not that. If you want to control exactly which packages, files and boot parameters end up in your live image, the script-based approach is the point.
A practical example: a developer maintains a minimal Debian install with diagnostic tools, strips it down, builds a live ISO, and carries it on a USB stick for rescuing machines or demonstrating software on unfamiliar hardware. The optional cleanup steps matter here, because leftover network rules and hardware-specific settings are common reasons a live image fails on a second machine.
For background on the underlying live-system concepts, see Debian and The Linux Kernel Archives.
How do I use Linux Live Kit to create a Live Linux system?
Linux Live Kit builds a bootable Live ISO from a Linux installation you already control. You install a normal distribution to a disk partition or a folder, strip it down, then run the kit's build script as root. The output is an ISO plus a TAR archive in /tmp; unpack the TAR to a USB device and run bootinst.sh from its boot subdirectory to make that device bootable.
The build sequence
- Install your chosen distribution to a partition or a directory. Debian is suggested but not mandatory.
- Confirm your kernel supports
squashfsand eitheraufsoroverlayfs. Most modern distributions include these automatically. - Optionally remove unnecessary files to shrink the result. Also consider removing udev persistent network rules and similar machine-specific settings, since they can stop the system working on different hardware.
- Download Linux Live Kit from GitHub into
/tmp. The./DOC/files explain how it works, and.configholds variables you may want to edit. - Log in as root and run
./build. The ISO appears in/tmp, along with a TAR archive. - For USB booting, unpack the TAR archive onto the USB device and run
bootinst.shfrom thebootsubdirectory.
What you get
The kit uses aufs or overlayfs instead of the older unionfs, and squashfs with XZ compression and BCJ filters. It supports booting from USB as well as CD/DVD, and its DynFileFS layer stores persistent changes with dynamic sizing even on VFAT or NTFS. LiveKit data can be loaded from a different directory or from an ISO file, and an install script can make a device boot under both Linux and Windows.
A practical first project is a minimal Debian install with your preferred desktop removed, built to a USB stick you can carry between machines. Expect the main friction to be hardware-specific leftovers in the source system, so clean those before building rather than debugging them after boot. If you want a comparable reference point, the general approach is also documented by Debian and Ubuntu.
What are the differences between Linux Live Kit and the old Linux Live scripts?
Linux Live Kit modernizes the older Linux Live scripts (last released in 2011) by replacing the underlying filesystem and compression stack, simplifying the boot tree, and adding USB and persistence support. The old scripts relied on unionfs; the kit uses aufs or overlayfs instead, which the project describes as more stable and feature-rich. It also moves to squashfs with XZ compression, including BCJ filters, for a better compression ratio and faster decompression. The CD tree is simplified, so you can name your distro whatever you like (for example slax or knoppix).
What changed
| Area | Old Linux Live scripts (2011) | Linux Live Kit |
|---|---|---|
| Union filesystem | unionfs | aufs or overlayfs |
| Compression | older squashfs setup | squashfs with XZ and BCJ filters |
| Boot tree | fixed CD layout | simplified, custom distro name |
| Boot media | primarily CD/DVD | USB device and CD/DVD |
| Persistent changes | not a core feature | DynFileFS dynamic-size persistence, even on VFAT or NTFS |
| Data location | standard path | load from a different directory or an ISO file |
| Windows/Linux install | not highlighted | bootinst.sh installs boot support for Linux and Windows |
Practical takeaway
If you are building a live system today, the kit's aufs/overlayfs and XZ squashfs combination gives you a more stable base and smaller images than the 2011 scripts. The persistence layer is the biggest functional difference: DynFileFS lets you write changes to a dynamic-size file on VFAT or NTFS, which matters when your USB stick is formatted for Windows compatibility rather than a Linux filesystem.
For a concrete workflow, follow the kit's own steps: install your preferred distro (Debian is recommended but not required), confirm squashfs and aufs or overlayfs are available in your kernel, trim unnecessary files, download the kit to /tmp, review the DOC files, edit .config if needed, then run ./build as root. The ISO lands in /tmp; unpack the generated TAR to a USB device and run bootinst.sh from the boot sub-directory to make it bootable.
To decide whether the upgrade is worth it for you, check two things: whether your target hardware needs persistent writes, and whether your kernel already supports aufs or overlayfs. If persistence on a Windows-friendly USB is a requirement, the kit's DynFileFS support is the deciding feature. If you only need a read-only CD image, the compression and stability improvements still make it the better choice, but the difference is less dramatic.
How does Linux Live Kit handle persistent changes on a Live USB?
Linux Live Kit handles persistence through DynFileFS, a dynamic-size filesystem layer that stores your changes in a file rather than in a fixed-size partition. Instead of reserving a static block of space for persistent data, the changes grow as needed up to the limits of the underlying filesystem. This is what makes persistence practical on ordinary USB sticks formatted as VFAT or NTFS, which normally cannot host a Linux filesystem directly.
How it fits into the build process
Persistence is not a separate tool you run afterward; it is part of the Live system the kit produces. The workflow described on Linux Live Kit is:
- Install your chosen distribution to a disk partition or a folder.
- Confirm your kernel supports
squashfsplus eitheraufsoroverlayfs. - Optionally strip unnecessary files to shrink the image.
- Download the kit, review the
DOC/files, and edit.configif you need to change variables. - Run
./buildas root to generate the ISO in/tmp. - Unpack the generated TAR archive onto the USB device and run
bootinst.shfrom thebootsubdirectory.
The persistent-changes support is one of the features the project lists for the current generation of scripts, alongside USB and CD/DVD booting and loading LiveKit data from a different directory or an ISO file.
Why dynamic sizing matters
| Approach | Storage behavior | Practical effect |
|---|---|---|
| Fixed persistent partition | Space reserved up front | Wasted space if unused; resizing is awkward |
| DynFileFS | File grows with your changes | Works on VFAT/NTFS; no repartitioning needed |
For a developer carrying a single USB stick between machines, this means you can keep browser profiles, editor settings, SSH keys, or a working directory across reboots without dedicating half the drive to persistence. If you plan to install large packages or collect build artifacts, watch the free space on the USB filesystem, since the change file competes with the Live image itself for room.
A concrete scenario
Suppose you build a Debian-based Live USB to troubleshoot client machines. With persistence enabled, you can install nmap, smartmontools and your preferred text editor once, then have them available on every subsequent boot. The project's own guidance to remove udev persistent net rules and similar host-specific settings is worth following here, because those files can cause network interfaces to behave inconsistently when the same stick moves between different hardware.
One caveat: the page describes persistence as a feature of the kit but does not document a step-by-step enable procedure in the excerpt. Check the files under DOC/ after downloading, since that is where the project directs users to learn how the scripts actually work.
Can Linux Live Kit create a bootable USB that works on both Linux and Windows?
Yes. The build process produces a TAR archive you unpack onto a USB device, then you run bootinst.sh from the boot sub-directory. The page explicitly lists "an install script to make your device boot in Linux and Windows," so the same prepared stick is intended to boot on both platforms rather than requiring two separate images.
What actually makes it dual-boot capable
- The boot installer writes the bootloader to the device, so the stick is bootable on machines with either a Linux or Windows firmware setup.
- Persistent changes are handled by DynFileFS, which the page describes as supporting dynamic-size persistent writes even on VFAT or NTFS — relevant because a Windows-visible USB stick is usually FAT-formatted.
- The kit can also load its data from a different directory or from an ISO file, which helps when you want the same payload reachable from more than one boot path.
Practical scenario
A developer maintains one Debian install in a folder, builds the ISO, unpacks the TAR to a 32 GB stick, and runs the install script. They can then boot that stick on a Windows laptop for hardware testing and on a Linux workstation for the same environment, with changes persisting between sessions.
Trade-offs to weigh
- Dual bootability is not the same as dual usability: Windows will see the FAT/NTFS data partition, but it will not run your Linux system, and Windows may offer to format or "repair" unfamiliar partitions if you let it.
- Persistence on VFAT/NTFS is convenient but generally slower and less robust than a native Linux filesystem; if you only boot Linux machines, ext4 on the stick is the safer choice.
- Secure Boot on Windows-era hardware commonly blocks unsigned bootloaders. Expect to disable Secure Boot or enrol keys, and test on the specific machines you care about rather than assuming it works everywhere.
- You still need squashfs plus aufs or overlayfs support in the kernel you are packaging, and you should strip udev persistent net rules so the system adapts to different hardware.
Next step
Build once, then test the stick on one Linux and one Windows machine before relying on it. If you want a ready-made live system instead of building your own, compare with Debian live images or Ubuntu desktop images, which ship prebuilt ISO-writing instructions.
What kernel modules and filesystem support are required for Linux Live Kit?
Linux Live Kit needs two kernel-side capabilities before it can build a working live system: squashfs for the compressed read-only filesystem, and aufs or overlayfs for the writable overlay that lets the live system run as if it were a normal installed distro. The site's own build steps state this directly: make sure squashfs and either aufs or overlayfs kernel modules are supported by your kernel, and notes that most distributions include them automatically.
What each module does
| Component | Role in the build | If missing |
|---|---|---|
| squashfs | Packs the installed system into a compressed image (XZ compression with BCJ filters is supported) | The build cannot produce the compressed live filesystem |
| aufs | Union/overlay filesystem used for the live root | Build or boot fails unless overlayfs is available |
| overlayfs | Modern alternative to aufs for the same overlay job | Build or boot fails unless aufs is available |
Practical checks before you start
- Confirm the modules exist for your running kernel, not just as loadable modules in a package:
modinfo squashfs,modinfo overlayfs,modinfo aufs. - If a module is built into the kernel rather than loadable, it will not appear in
lsmodbut is still usable. - On Debian-derived systems the recommended setup is a normal disk install (or a folder on an existing system) with these modules already present; the kit's authors recommend Debian but do not require it.
- Persistent changes are handled separately by DynFileFS, which the project describes as providing dynamic-size storage for writing changes even to VFAT or NTFS — so the overlay modules are about running the live system, not about saving changes.
Choosing between aufs and overlayfs
The project's own framing is that aufs replaced the older unionfs for stability, while overlayfs is offered as the alternative. In practice, pick overlayfs if your kernel is recent and your distro ships it as standard; fall back to aufs if your kernel or distro has better-tested aufs support. Either satisfies the requirement — you do not need both.
Next step
Boot your target kernel (or check the one you intend to build against) and verify both module families are available. If squashfs is present but neither aufs nor overlayfs is, you cannot proceed until you enable one of them; if squashfs is absent, enable it first, since nothing else in the pipeline works without the compressed image. The kit's ./DOC/ files and .config are the place to confirm which overlay option your build expects.
User reviews (0)