From Fedora Project Wiki


This page describes remixing Fedora and customized building of media using Revisor.


Looking for a certain topic? Here's a couple of links related to remixing Fedora:

Remix Fedora has been a number one feature of Fedora 7, allowing you to create whatever set of packages in whatever fashion, whether Fedora ships those packages, or somebody else distributes them. While originally intended just as a GUI front-end to release build tools, Revisor is now all about customization. With this customization, the number of options Revisor allows you to configure increases. The following topics walk you through these settings.

Running Revisor

Most users of Revisor will start with using the GUI. If you are, you'll need the WalkThrough document, which will show you what options you have from the GUI. Revisor however also has a command-line interface, which is particularly interesting as it allows further customization -and that's what it's all about.

Configuration Files

Revisor has a default master configuration file: /etc/revisor/revisor.conf. This file contains a section [revisor] , and several other sections (so-called models). The [revisor] section allows global options to be specified. Here you will want to configure options that apply to all models. However, in each model, you can specify all options too, overriding the global options. An example:

kickstart_file = /some/kickstart/file

...other options...

...other options...
kickstart_file = /some/other/kickstart/file

In this particular case, the global options specify /some/kickstart/file to be used, but if Revisor is going to compose media using the [model2] model, /some/other/kickstart/file will be used instead -overriding the global configuration option. Revisor takes a command line parameter to set which configuration file to use: --config /path/to/file

Basic Configuration Options

This is a list of Revisor's most common and most used configuration directives and command-line parameters

Configuration Directive CLI Parameter Description Default
--config Configuration file to use /etc/revisor/revisor.conf
--debug Turn on debug output False
--cli Force Revisor to run in CLI mode. No GUI will ever pop up. False
--gui Force Revisor to run in GUI mode. Normally Revisor will attempt to start in GUI mode, and if it fails, falls back to CLI mode. Use --gui to not fall back to CLI mode. False
model --model Model to use. This must be a valid section in the configuration file f7-i386
media_installation_cd --install-cd Composes a CD or CD set False
media_installation_dvd --install-dvd Composes a DVD or DVD set False
media_live_optical --live-optical Composes Optical Live Media False
kickstart_file --kickstart Specify which kickstart file to use False

For a complete reference, including CLI parameters, see the OptionReference document.

Kickstart Configuration

You can use kickstart files to configure the media that Revisor composes. Be it Installation, Live, Virtualization or Utility media, all kickstart configuration that applies to these different types of media will be used.

Installation Media:: Revisor can use the %packages section to populate the package set available on the installation media. Other then that, Revisor can include the kickstart file in the build tree so that it ends up on the media or in the installation tree (configuration option: kickstart_include=1). Also, Revisor can configure the optical media's bootmenu to start the installer using the kickstart configuration file by default.

Live Media:: Revisor uses the kickstart options, %pre and %post sections to configure the Live Media. As with Installation Media, Revisor could use the %packages also, if desired.

Virtualization Media:: In some ways Virtualization Media can be considered similar to Live Media; Revisor allows the same types of configuration to be performed using kickstart configuration as with Live Media.

Utility Media:: Whether it is a boot.iso, pxeboot.iso or rescue CD, the kickstart configuration file could be included on the media so that you can use it to perform installations from these media, and of course you should be able to add certain packages that may allow you to perform additional troubleshooting and configuration on the system. In certain ways, the rescue CD behaves like a LiveCD in those aspects.

Creating a Kickstart File

To create a kickstart configuration file, you could use system-config-kickstart, or create one manually using the documentation in RHEL 5.0 Installation Manual (as a basis, you could use /root/anaconda-ks.cfg which holds kickstart information on how you installed the current system).

Types of Media

Installation Media

There are several quite different types of Installation Media. The Fedora Project releases Optical Installation DVDs and an online Installation Tree. Several types of Installation Media include:

CD:: A CD, or CD set that allows you to install a system. (Setting: media_installation_cd) DVD:: A DVD, or DVD set that allows you to install a system. (Setting: media_installation_dvd) Tree:: A tree that contains everything a system needs to install itself. A tree can be published online as a NFS, HTTP or FTP installation source. (Setting: media_installation_tree) Unified ISO:: One image (ISO) containing the installation tree, for easier transportation or hard disk installations. (Setting: media_installation_unified)

Live Media

Like Installation Media, Live Media can shape up in different forms also:

Optical:: Optical Live Media, being a CD, DVD or DVD Dual Layer. (Setting: media_live_optical) USB Thumb Drive:: Live USB Thumb Drive, for running the operating system right of your USB thumb drive. (Setting: media_live_thumb) USB Hard Drive:: Live USB Hard Drive, running the operating system from a real hard drive attached to the computer via USB. (Setting: media_live_hd)

Virtualization Media

Virtualization Media is an entirely new branch of media Revisor currently composes. This is particularly useful media when provisioning Virtual Guests for Xen or KVM.

Utility Media

Utility Media is a little extra. You can compose utility media that contains programs that help you recover your hard drive, install the system or recover the installation on the system, etc.

Repository Configuration

Revisor uses it's own repository configuration files like the ones installed in /etc/revisor/conf.d. These are yum configuration files, but with all variables expanded. Variables such as $releasever and $basearch are being expanded in Revisor's repository configuration files to allow Revisor to cross-compose. Mind that because of this Revisor cannot (and will not) use /etc/yum.conf as a configuration file, although basically this configuration file is perfectly valid.

Using Local Media