Return to LinuxDig.Com HowTo's

Development for Multiple Linux Distributions mini-HOWTO

Ed Hill

<ed@eh3.com>

2001-03-01

Revision History
Revision 0.9.12002-08-14Revised by: EH3
Small update for using X11 (sockets).
Revision 0.92001-12-03Revised by: EH3
Initial version.


2. Setup

We assume that you already have:

  1. One "main" or "primary" Linux distribution installed that is running a 2.4-series or newer kernel,

  2. a free partition with 2--4Gigs available, and

  3. sufficient disk space for the secondary installs (and any subsequent development/testing work).

Given those assumptions, the following outline is one way to setup the multiple secondary Linux distributions that will be used for development, testing, or other purposes:

  1. First, create or locate an unused partition on one of your hard drives that is large enough (usually 2--4Gb is sufficient) to do a basic install of one of the secondary Linux distributions.

  2. Install the secondary distro into this partition but do not add it to your boot configuration. Note that this install need only include the packages that your target application (or tests) require. For instance, you may be able to ignore applications such as the X server or other space-hogs.

  3. Reboot your primary Linux distribution and mount the partition containing the freshly-installed "secondary" distro. Copy (preferably using tar -cp or some other method that preserves permissions) all the files from the secondary distro to a location such as /opt/distros/DISTRO_NAME.

  4. Repeat steps 2--3 for any additional distributions that you wish to install. The result should be a directory structure resembling:

    /opt/distros/redhat_6.2/
                 suse_7.2/
                 mandrake_8.1/
                 debian-potato/
                 slackware_8.0/

    where each directory contains the complete set of files resulting from each distribution install.


4. Credits

The ideas contained in this mini-HOWTO are not originally mine. They are culled from posts by Ben Reed (of OpenNMS ) to one of the TriLUG mailing lists. I found the information to be so useful that I wanted to document the idea for others.