This page explains how to make a custom-content Live CD or DVD on Fedora-based systems including derived distributions such as RHEL, CentOS and others.
Getting started
To create a live image, the livecd-creator tool is used. Super user privileges are needed. The tool is more or less self-documenting, use livecd-creator --help
to see options.
The livecd-creator tool is part of the livecd-tools
package. If it is not installed on your system, add it with:
su -c 'yum install livecd-tools spin-kickstarts' #Versions prior to Fedora 22 or su -c 'dnf install livecd-tools spin-kickstarts' #Fedora 22 and beyond
If you are interested in localized (i.e. translated into other languages) live CD files, install also l10n-kickstarts.
Configuring the image
The configuration of the live image is defined by a file called kickstart. It can include some basic system configuration items, the package manifest and a script to be run at the end of the build process.
For the Fedora project, the most important live image configurations files are:
- fedora-live-base.ks : The base live image system (included in the 'livecd-tools' package).
- For Fedora 20 and earlier: fedora-livecd-desktop.ks : Complete desktop with applications and input/output support for all supported locales in Fedora (this one is part of the 'spin-kickstarts' package) - despite the name, this is the kickstart that generates the ~1GB-sized images for recent releases.
- For Fedora 21 and later: fedora-live-workstation.ks - this is the Workstation product configuration.
kickstart files for other spins (e.g. Fedora Electronics Lab) can be found in /usr/share/spin-kickstarts/
after installing the 'spin-kickstarts' package. These pre-made configuration files can be a great place to start, as they already have some useful pre and post-installation scripts.
You can create a customized kickstart file by running system-config-kickstart
. Note that you might have to install the package first with su -c "yum install system-config-kickstart"
. This tool is mainly intended for generating kickstart files for automated installs, not live images, so the output will probably not be usable without editing, but it may help you to generate particular kickstart directives. Remember to add the line:
%include /usr/share/spin-kickstarts/fedora-live-base.ks
at the beginning of your kickstart file to include the base live configuration.
Making the image
To make the image, simply issue the following command:
livecd-creator --verbose \ --config=/path/to/kickstart/file.ks \ --fslabel=Image-Label \ --cache =/var/cache/live
The name given by --fs-label is used:
- as a file system label on the ext3 and iso9660 file systems (As such, it's visible on the desktop as the CD name).
- in the isolinux boot loader.
If you have the repositories available locally and don't want to wait for the download of packages, just substitute the URLs listed in the configuration file to point to your local repositories.
Examples
Spinning the fedora desktop
The following command:
livecd-creator --verbose \ --config=/usr/share/spin-kickstarts/fedora-livecd-desktop.ks \ --fslabel=Fedora-LiveCD \ --cache=/var/cache/live
will create a live CD called "Fedora-LiveCD" using the fedora-live-desktop.ks configuration file.
A Barebones Live CD
The command
livecd-creator --verbose \ --config=/usr/share/doc/livecd-tools-`rpm -q livecd-tools --qf "%{VERSION}"`/livecd-fedora-minimal.ks \ --cache=/var/cache/live
will create a live CD that will boot to a login prompt.
Testing your Live CD using KVM or qemu
As root:
qemu-kvm -m 2048 -vga qxl -cdrom filename.iso
If you do not have KVM support, you have to use qemu instead
qemu-system-x86_64 -m 2048 -vga qxl -cdrom filename.iso
Replace filename.iso with the name of your created Live CD image and qemu-system-x86_64 with an appropriate qemu binary for the target system, e.g qemu-system-i386.
Using your new live image
You can burn your image directly to a CD or a DVD if it fits, or you can write it to a USB stick.
Live Image Media Verification
The live image can incorporate functionality to verify itself. To do so, you need to have isomd5sum installed both on the system used for creating the image and installed into the image. This is so that the implantisomd5 and checkisomd5 utilities can be used. These utilities take advantage of embedding an md5sum into the application area of the iso9660 image. This then gets verified before mounting the real root filesystem.
Other Resources
- A Fedora Classroom class covering creating Fedora remixes.
- If you are distributing your spin you need to be concerned about trademark usage and GPL responsibilities.