Linux Live Kit
  • C 39.8%
  • C++ 39.7%
  • Shell 18.5%
  • Python 1%
  • CSS 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-10 10:40:23 +01:00
bootfiles Preserve boot logs and support DHCP HTTP boot and large ISO files 2026-11-09 09:50:17 +01:00
DOC commit 2026-11-07 17:20:27 +01:00
initramfs Bound the shutdown splash lifetime 2026-11-10 10:39:37 +01:00
Slax Slax readme 2026-11-10 00:27:10 +01:00
tools Bound the shutdown splash lifetime 2026-11-10 10:39:37 +01:00
VM vm 2026-11-07 07:32:34 +01:00
.env rework 2026-10-15 01:37:40 +02:00
.gitattributes Keep USB installers and Windows GRUB assets in Slax 2026-11-07 14:54:39 +01:00
.gitignore Reserve GPT BIOS boot space without a visible partition 2026-11-09 08:33:54 +01:00
AGENTS.md Bound the shutdown splash lifetime 2026-11-10 10:39:37 +01:00
build Check XZ availability without parsing localized help 2026-11-09 10:07:40 +01:00
CHANGES.txt Clear changes after Slax release 4 2026-11-10 10:40:23 +01:00
config Switch to signed kernel and grub from Debian to support secure boot, we lose AUFS :( 2026-11-04 23:01:07 +01:00
livekitlib filter out real swap partitions 2026-11-09 10:42:56 +01:00
README Track unreleased Live Kit and Slax changes 2026-11-09 10:44:27 +01:00

Linux Live Kit
==============

Use this set of scripts to turn your existing preinstalled Linux
distribution into a Live Kit (formely known as Live CD).
Make sure to extract and use it on a posix-compatible filesystem,
since it creates some (sym)links and such.

Note:

* Store Linux Live kit in a directory which is not going to be included
  in your live distro, else it would be copied to it. Best practice is to
  make a directory such as /a and put these scripts there.
  Be warned, if you put it to /tmp, some distros may erase it on reboot.

* Before you start building your Kit, edit the file ./config
  Most importantly change the LIVEKITNAME variable.

* Make sure your kernel is in /vmlinuz or change the path in ./config
  Your kernel must support squashfs. Your kernel must also support either
  aufs or overlayfs or both. AUFS is recommended for more flexibility,
  but if your distro does not support it, overlayfs will work too.

* You may also wish to replace boot graphics in ./bootfiles/bootlogo.png
  (one options is to modify and run the ./tools/bootlogo.update script) 
  and edit ./bootfiles/grub.cfg to fit your needs. Keep paths in /boot/;
  they will be relocated to /$LIVEKITNAME/boot/ during Live Kit creation.

* Linux Live Kit comes with precompiled static binaries in ./initramfs
  directory. Those may be outdated but will work. You may replace them
  by your own statically linked binaries, if you know how to compile them.  

* CD and USB boot with GRUB 2. The build creates BIOS and UEFI loaders
  using the GRUB modules installed on your system.
  It also bundles GRUB network loaders in boot/grub/net for PXE servers.
  Disable Secure Boot when using the generated UEFI loaders.

* If you plan to boot your Live Kit from USB device, you may wish to add
  the following boot parameter to the linux lines in grub.cfg:
     perch
  This parameter activates persistent changes

* To boot an ISO over HTTP, build with NETWORK=true in ./config and use
  from=http://server/path/image.iso ip=dhcp as kernel parameters.
  The HTTP server must support byte-range requests. NFS is not supported.

* If you have tmpfs mounted on /tmp during building your Live Kit ISO,
  make sure you have enough RAM since LiveKit will store lots of data in /tmp.
  If you are low on RAM, make sure /tmp is a regular on-disk directory.

* When done, run the ./build script to create your Live Kit
  - it creates a media tree and scripts to generate ISO and ZIP files in /tmp
  - make sure you have enough free space in /tmp to handle it
  
* For USB boot, write the generated hybrid ISO image to the USB device
  using a disk-imaging tool. File-copy USB installation is distribution-specific.

* Slax-specific instructions are in Slax/README.

* You will need the following packages to be installed:
  - squashfs-tools
  - GRUB 2 tools and modules for the target firmware platforms
  - xorriso
  - mtools
  - zip
  - zstd, if your kernel modules use .zst compression

  Debian package example for BIOS and amd64 UEFI:
     apt install squashfs-tools grub-pc-bin grub-efi-amd64-bin xorriso mtools zip xz-utils
  Add grub-efi-ia32-bin if you also need 32-bit x86 UEFI firmware support.


Author: Tomas M. <http://www.linux-live.org>