Open Source

SolutionBase: Create custom versions of Fedora by 'respinning' it with Revisor

With the introduction of Fedora Core 7, you have more options than ever to create your own custom versions of the distributions, called respins. In this article, Jack Wallen shows how to quickly and easily respin Fedora Core 7 using Revisor.

As the release of Fedora 7 crept near, I started hearing rumbles of "respins". It wasn't until I started investigating these respins that my eyes started growing wide with delight. A respin is truly your Fedora. Respinning Fedora allows an IT admin to create a perfectly customized version of Fedora. Let's say you have to install 50 Fedora desktops with OpenOffice, FireFox, Scribus, Gimp, gtk-pod, the Beryl window manager, and a handful of carefully picked applications suited to various departments. Using Revisor, you can create those installable respin images, burn them onto CD (or DVD), and start your installations.

Before Revisor, this would be a difficult, time-consuming process. Now, with the help of respinning with Revisor, you can create your version of Fedora. In the spirit of the open source community, when you create your respin, you can submit that spin to the Fedora Respin Web site.

Getting and installing Revisor

Installing Revisor isn't just a matter of jumping on your Fedora 4, 5, or 6 machine and running yum install revisor. Although you could theoretically do that once you met the dependencies, you would only be respinning an outdated version of Fedora. There's a much better way to do this.

First, download the Fedora 7 Live CD from one of the listed mirrors; ensure you're getting the Live CD, not one of the regular installs. Once you have the image, burn it onto a disc. I do this with the help of K3B.

If you're unsure how to do this, you open up K3B and then go to the Tools menu and then select Burn CD Image. Note: You might want to let the MD5 checksum finish out before you select this option. There have been a number of reports that some mirrors are hosting corrupt images.

Once you have your Fedora 7 live version on disc, put it in the machine you wish to install Fedora 7 on and reboot. The install process is simple: Once the Live version is up and running there will be an icon on the desktop labeled Installed To Harddrive. Select this, answer the few questions it asks and come back in about twenty minutes.

Once Fedora 7 is installed, the fun can begin!

Open up a terminal window, su to root, and issue the command yum install revisor to get the ball rolling. There are just a few dependencies to meet before Revisor can be installed:

system-config-kickstart
gnome-python2-gconf
notify-python
pungi
livecd-tools

Note: There are numerous other dependencies which are all met using Fedora 7.

Once Revisor is installed, it's time to go to work.

Running Revisor

To run Revisor from a default GNOME-based Fedora 7 desktop go to the Applications menu and then from the System Tools sub-menu select Revisor. You will have to issue your Root password to continue working.

The Revisor start-up screen, shown in Figure A, really has only two options (third and fourth options are grayed out for development purposes): Get Started and Quit. Press the Get Started button to continue on.

Figure A

The Information button has yet to actually be implemented.

The first screen that allows you any real options is the next screen (Figure B). Here you have to choose the media type necessary for your respin. There are two types: Installation and Live. Under each type you choose either DVD/CD (under Installation) or Optical/USB (under Live). Make your selection (I chose CD under Installation) and press Forward.

Figure B

The size of your respin could easily dictate the media type you choose.

The next window (Figure C) wants you to select a configuration file location for Revisor, the version and architecture to be used, the image destination directory, and the repositories to be used. By default, the configuration file is /etc/revisor/revisor.conf. Keep this default.

Figure C

If you choose a different configuration section, be sure to press the Apply button so the necessary repositories will change before moving forward.

The Configuration Section To Use (version and architecture) is selected via a drop-down list. From this list, you can choose from three different versions: FC6, F7, Rawhide (development version), and the usual suspects for architecture (i386, x86_64, ppc). The destination directory, by default, is found in /srv/revisor. It's interesting to note that the /srv directory is set up to be used as a BitTorrent directory. This is handy because it will help you to share out those images created with Revisor. Finally, select from the available list of repositories to use for your respin.

Press the Forward button to move on.

The next section configures your KickStart file. A KickStart file is a file that contains all the necessary information for Anaconda. Anaconda is the Fedora system installer. In this window (Figure D), there are two sections to configure: KickStart Configuration file location and Advanced Options. Stick with the default for the file location. As for advanced options, there are three selectable check boxes:

  • Use Package Manifest From KickStart Data: This will give you a pre-defined set of packages available. These packages will be taken from your currently running installations KickStart file.
  • Customize Package Manifest Defined In KickStart Data: This sub-configuration of the above option allows you to add/customize packages to the default KickStart file.
  • Customize/Review Additional Options Loaded From KickStart Data: Further customize your KickStart data.

I will select the first two options for my respin. Once you have made your selections, press the Forward button and Revisor will download all the necessary packages from the repository selected.

Now you are ready to customize what packages will be used for your respin. The package selection window (Figure D) is very simple to use. Select the category and then select the package you want to include.

Figure D

In the standard Fedora 7 live distribution, GNOME is the desktop environment. In your respin, you are not restricted to only that desktop environment.

Note: In Figure D, there are only three choices for the desktop. Later on, we'll discuss adding additional repositories so you will have more to chose from.

Once you have gone through your package selection, select Forward to be greeted by the review window, as shown in Figure E.

Figure E

The numbers and sizes have yet to be calculated.

When you select Forward, Revisor will start checking dependencies, as shown in Figure F.

Figure F

Resolving all dependencies can take quite a while, depending upon the size of your respin.

During the final phase of the image creation, Revisor will go through a number of steps, including:

  • Resolving dependencies
  • Downloading packages
  • Linking in packages
  • Create repository information
  • Build isolinux and installer
  • Linking in release notes
  • Creating CD ISO images
  • Inserting of md5 checksums into the iso

Once the image is created, you will see the congratulations screen (Figure G); now you can finally quit Revisor.

Figure G

You're ready to quit Revisor and burn your images.

Finding the images

It was at this point that I came across my only problem with Revisor. According to the configuration I used, the CD images should be located in /srv/revisor. This was not the case. It took some digging, but I finally found them in /var/tmp/pungi-revisor/7/f7-i386/i386/iso. My assumption is that the developers are still working out some of the bugs, because the Revisor GUI did not write the configurations I used in Revisors' configuration file.

Once you have located the images, you can burn them onto CD and be ready to install.

Adding repositories

There are a number of occasions when you'll want to add applications to your respin that aren't included in the default repositories. In order to add a new repository, you will want to open up the correct .conf file (according to your architecture) located in /etc/revisor/conf.d/ and add the proper repository information. Let's say, for example, you want to add the Livna repository for the i386 architecture. To do this, open up /etc/revisor/conf.d/revisor-f7-i386.conf and add the following:

[livna]
name=Livna for Fedora Core 7 - i386 - Base
baseurl=http://ftp-stud.fht-esslingen.de/pub/Mirrors/rpm.livna.org/fedora/7/i386/
#mirrorlist=http://rpm.livna.org/mirrorlist-7
enabled=1
gpgcheck=0

The next time you open up Revisor, the Livna repository will be available for your use.

Pitfalls

Aside from Revisor being very young, there are a few pitfalls you might want to know. I've already mentioned one instance where the ISO images were placed not where they should have been. Another issue is adding repositories. As you can see above, there is no GUI solution for adding extra repositories. I hope the Revisor developers take this amazing tool one step further and add a portion to the GUI that allows users to add specialized repositories that fill various needs.

While not necessarily a pitfall, power users might want to know that Revisor is really just a front-end for a couple of command-line tools: pungi, livecd-tools. If Revisor isn't your cup of tea, or it doesn't do everything you want it to do, take a look at those two command-line tools.

Final thoughts

I was skeptical about Fedora 7 when it first came out, but the Revisor tool removes any of the skepticism brought about by the idea of "spins." Revisor will allow you to truly create your own version of Fedora: you can create KDE-only, GNOME-only, or no-GUI-server-only. I was very close to dropping Fedora as my OS of choice, but Revisor has, well, revised that opinion.

Remember, Revisor is still early on in the development process. There are bugs and features yet to be implemented. Even in this early stage of development, however, Revisor is a must-use tool for serious Linux administrators.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

{"msg": "None", "status": "error", "error_type": "ServiceUnavailableError", "code": 503}