This set of scripts will help you to
build your own Live Kit distro. This project is based on
the original Linux Live Kit.
- squashfs-tools
- genisoimage / mkisofs (optional)
- zip
-
Store Linux Live Kit in a directory which is not going to be included in your result distro, or else it would be copied to it. The best practice is to make a directory such as for ex.: '/tmp/a', and put all the files there.
Make sure to extract and use it on a POSIX-compatible filesystem (for ex: EXT4), since it will create symlinks and such that might not be compatible in for example: FAT and such other filesystems.
-
Before you start building your Live Kit, please consider editing the ./.config file, and tweak it to suit your needs. Most importantly, change the LIVEKITNAME variable.
-
Make sure that the following scripts are executable:
- ./build
- ./livekitlib
- ./initramfs/init (really important, else the kernel will panic!)
- ./initramfs/gen-initramfs (it is supposed to be executable :P)
-
Make sure you are pointing to the right kernel. If in doubt, change the path in '.config'. Your kernel must support both SquashFS and {AUFS || OverlayFS}, or else you will get an error both while building, and when you actually boot your Live Kit system.
-
On most Linux distro-s, the kernel is in /vmlinuz, a symlink to /boot/vmlinuz-* or even /boot/vmlinux-*
-
Debian Jessie's kernel supports both AUFS and SquashFS out-of-the-box. It's recommended to use Debian Jessie as the base OS, but the choice is yours.
-
If you don't need AUFS, or you are just too lazy to compile a custom kernel, then go with OverlayFS. It's supported in most Linux distros (except Debian), and even custom Linux systems that are built around a kernel that have OverlayFS enabled.
-
-
It's recommended to replace boot background in bootfiles/bootpic.png and edit syslinux.cfg to fit your needs.
- When editing the configuration file, make sure to keep all paths pointing to /boot/, since it will be replaced to /LIVEKITNAME/boot/ during the build session.
-
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.
-
If you want to boot your Live Kit from a CD, you'll need to recompile syslinux.bin and/or isolinux.bin else it won't be able to boot your Live Kit from directory "/LIVEKITNAME".
There is a script prepared for you which will do all of the building. Simply go to directory ./tools/ and run isolinux.bin-update, it will rebuild isolinux.bin automatically by downloading SysLinux sources, patching them using your actual LIVEKITNAME and recompiling. This step is not needed if you only need the ZIP archive version.
-
If you have tmpfs mounted on /tmp, make sure you have enough (or maybe even a lot of) RAM, since Live Kit will store lots of data to the target. If you don't have enough (or even went out of) RAM, make sure that /tmp is a regular on-disk directory.
-
If you want to include your own bundules, then the 'include_bund/' directory might come in handy. Just make sure that the file extension will match with your chosen .BEXT extension.
The script will automatically:
- Parse .config to suit your needs
- Configure 'livekitlib' according to .config
- Do all the hard work for you
- Will automatically check for errors
- Will warn you if you don't have the correct programs installed