|
Page 6 of 6 After stripping off the GNOME bits, you can add the list of packages you need. The new file should read like this (please note that I have removed the license bits to conserve space):
Listing 11. The newly created 40-fedora-live-office.conf file #!/bin/bash
# livecd configuration for Base Fedora system
# PLEASE ADD LICENSE RELATED NOTE
case $1 in # inquire what packages to install; prints package list on stdout pkgadd) echo " evolution evolution-connector evolution-webcal gaim xchat beagle gimp
openoffice.org-core openoffice.org-draw openoffice.org-calc openoffice.org-graphicfilter openoffice.org-math openoffice.org-writer openoffice.org-xsltfilter openoffice.org-impress
gcc gdb doxygen " ;;
# run configuration scripts when all packages are installed post) ;;
# run when an livecd install is complete to clean up install-post) ;;
# run when an livecd install is complete; must prints packages to remove install-pkgrem) echo " fedora-livecd-office-code " ;; esac |
Do not forget to include the name of the configuration package in the list of packages to remove before the ISO is created. Creating the RPM Before you can actually use this configuration file, you need to create an RPM out of it. Creating an RPM requires a SPEC file. You'll need to use Zeuthen's fedora-livecd.spec and edit it to include information about the new configuration file. Basically, a SPEC file contains the list of files that will be included in the RPM and where will they be placed when the RPM is installed. I won't go into the details of creating a SPEC file, but you can use a SPEC file I created for this article. Download it from the Downloads section, below, and read the comments to understand the changes from Zeuthen's original file. Note that my SPEC files points to configuration files of other packages, such as fedora-live-gnome-fedora-livecd-desktop. Make sure you have all of them available as well. Fedora uses the rpmbuild command to create RPMs from a SPEC file. The rpmbuild command expects all the .conf configuration files to be under the /usr/src/redhat/SOURCES directory, along with any other file mentioned as a SOURCE in the SPEC file. Also make sure the fedora-livecd.spec file is under /usr/src/redhat/SPECS directory.
Listing 12. Creating new RPMs # cd /usr/src/redhat/SPECS # rpmbuild -bb fedora-livecd.spec # ls /usr/src/redhat/RPMS/i386 fedora-livecd-6-2.i386.rpm fedora-livecd-gnome-6-2.i386.rpm fedora-livecd-desktop-6-2.i386.rpm fedora-livecd-office-6-2.i386.rpm |
To separate the custom RPMS from the original, I've versioned them 6-2 instead of the original 6-1. Using custom RPMs to build Live CD Once the RPMs are at your disposal, the procedure to create a Live CD isn't any different. Re-create the local repository of packages with the new ones.
Listing 13. Creating the local repository of configuration packages with the new RPMs # rm /root/base_packages/* # cp /usr/src/redhat/RPMS/* /root/base_packages/ # createrepo /root/base_packages |
Now use livecd-creator to use the newly created packages.
Listing 14. Creating a Live CD using the new Fedora-Office-Code-LiveCD RPM # livecd-creator --repo=c6,file:///var/www/html/repo/core \ --repo=lcd6,file:///root/base_packages \ --package=fedora-livecd-office-code \ --repo=e6,http://download.fedora.redhat.com/pub/fedora/linux/extras/6/i386 \ --fslabel=My-Fedora-Office-Code-LiveCD |
Presto! You have your very own custom Live CD from your very own custom configuration. Once you get the hang of creating configuration RPMS, you'll be creating Live CDs in no time. You can customize the Live CDs by tweaking any setting and adding or removing packages. Add to that the ability to move any data file into the Live CD environment, as I've shown in my SPEC file. It's only a matter of time before the Live CD installer, already in testing stages, is released. One single entry in your configuration file or a --package option will bundle it onto your Live CD, making it fully installable on the hard disk. How cool is that? Your custom Linux distribution in no time.
|