Kickstart, briefly, is a set of scripts that basically 'answers all questions that the installer would ask' and also allows for commands to be run in a chroot (more about it later). So, a config.ks file has a list of applications that will be included or excluded from your future ISO, as well as what Debian calls 'hooks', though in a slightly different way.
Step 1: Get Fedora
First of all, you will need a very minimal (netinstall) installation of Fedora, probably http://download.fedoraproject.org/pub/f ... etinst.iso or http://download.fedoraproject.org/pub/f ... etinst.iso
I will not go into details about how to install Fedora, just as a little hint: keep one part of your drive unpartitioned before you boot into the anaconda (Fedora installer), this makes it easier to point and click.
Step 2: Set up kickstart
After we have booted into our base Fedora, we will have to get some files to make kickstart work.
Code: Select all
sudo yum install livecd-tools spin-kickstarts
sudo setenforce 0
Step 3: Pick a kickstart file
If you visit the /usr/share/spin-kickstarts directory, you find a bunch of fedora-typical configuration files. Interesting is, for example, the fedora-install-fedora.ks file, or the fedora-aos.ks which is a very basic setup for applicances. Copy the one you like, let's say fedora-lxde-packages.ks, back to your home folder:
Code: Select all
cp /usr/share/spin-kickstarts/fedora-lxde-packages.ks our_file.ks
Any % section must be closed, for example:
Code: Select all
%packages
nano
emacs
vim
ed
%end
Code: Select all
%packages
nano
emacs
-vim
-ed
%end
Don't remove too much now. Save and exit, and let's do the ISO!
Step 4: Make me a sandwich!
We need quite a lot of space (a few GB) to grab the selection. This is now something like a bootstrap, so the stuff is downloaded into a chroot and then squashed into a ISO file.
Code: Select all
sudo livecd-creator --config=our_file.ks --fslabel=our_cd --cache=/var/cache/live
Step 5: Season to your liking
For future remasters it is good to have a comparably 'full feat' ISO to work with, because we do not download stuff, but purge it. So, let's exclude things - make a copy of the kickstart file, called our_small_file:
Code: Select all
cp our_file.ks our_small_file.ks
Now you can remove all the shit like xserver packages and gtk dependencies. Take a look at the fedora-live-minimization.ks file to get an idea about what can be removed. And now comes the special trick: at the end of the kickstart file, add this section:
Code: Select all
%post
echo We are in chroot now
/bin/bash
%end
Save and exit, and then finally:
Code: Select all
sudo livecd-creator -f modified -c our_small_file.ks -b our_cd.iso
I have typed this from little notes, so maybe something is not 100% accurate, but you hopefully get the general idea. Google is your friend if you get stuck, search terms: "kickstart fedora"
http://fedoraproject.org/wiki/Anaconda/Kickstart