Penguin
Diff: HowToMultiDistroDev
EditPageHistoryDiffInfoLikePages

Differences between version 3 and revision by previous author of HowToMultiDistroDev.

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 3 Last edited on Friday, October 29, 2004 10:08:05 am by StuartYeates Revert
Older page: version 1 Last edited on Friday, June 7, 2002 1:07:08 am by perry Revert
@@ -1,235 +1 @@
-Development for Multiple Linux Distributions mini-HOWTO  
-!!!Development for Multiple Linux Distributions mini-HOWTO  
-!Ed Hill  
-  
-`ed@eh3.comb  
-  
-  
-  
-2001-12-03  
-  
-  
-__Revision History__Revision .92001-12-03Revised by: EH3Initial version.  
-  
-  
-  
-  
-  
-This document outlines a quick hack to aid in developing  
-and testing user-space programs for multiple Linux  
-distributions.  
-  
-  
-  
-  
-  
-----; __Table of Contents__; 1. Introduction: ; 1.1. Copyright and License; 2. Setup; 3. Using the Secondary Distributions; 4. Credits----  
-!!!1. Introduction  
-  
-As a developer, there is occasionally a need to code and/or  
-test programs on multiple Linux distributions. This mini-howto  
-outlines a neat chroot trick that can,  
-in many cases, obviate the need to reboot into different Linux  
-distributions to do testing or development.  
-  
-  
-  
-In a nutshell, the "trick" is to place all the files from a  
-particular linux distribution into a single directory and then  
-chroot into that directory to  
-develop/test/debug your program. This approach will work provided  
-that:  
-  
-  
-  
-  
-  
-  
-  
-#  
-  
-The kernel version of the "main" or "primary" distribution that you  
-are running is (at least somewhat) compatible with the "secondary" or  
-chroot'ed distributions, and  
-  
-  
-  
-#  
-#  
-  
-Your application is primarily user-space (ie. no kernel modules) and  
-does not depend intimately on any particular kernel features  
-(ie. /proc behavior).  
-  
-  
-  
-#----  
-!!1.1. Copyright and License  
-  
-This document is copyright 2001 by Ed Hill III. Permission is granted  
-to copy, distribute and/or modify this document under the terms of the  
-GNU Free Documentation License, Version 1.1 or any later version  
-published by the Free Software Foundation; with no Invariant Sections,  
-with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the  
-license is available at http://www.gnu.org/copyleft/fdl.html.  
-  
-  
-----  
-!!!2. Setup  
-  
-We assume that you already have:  
-  
-  
-  
-  
-  
-  
-#  
-  
-One "main" or "primary" Linux distribution installed that is running a  
-2.4-series or newer kernel,  
-  
-  
-  
-#  
-#  
-  
-a free partition with 2--4Gigs available, and  
-  
-  
-  
-#  
-#  
-  
-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:  
-  
-  
-  
-  
-  
-  
-  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-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./  
-  
-where each directory contains the complete set of files resulting from  
-each distribution install.  
-  
-  
-#----  
-!!!3. Using the Secondary Distributions  
-  
-With the secondary distributions installed, the steps to use  
-them are:  
-  
-  
-  
-  
-  
-  
-#  
-  
-It is important to use a 2.4-series or newer Linux kernel in the  
-"primary" Linux distribution in order to take advantage of the  
-multiple mount points feature that the 2.4-series permits. For many  
-tasks, the /proc filesystem will have to be  
-remounted in the secondary distribution using:  
-  
-mount --bind /proc /opt/distros/redhat_6.2/proc  
-  
-  
-  
-#  
-#  
-  
-Also, it can be helpful to remount (rather than copy) the source tree  
-from the primary to the secondary distro:  
-  
-mount --bind /home/USER/src/PROJECT /opt/distros/redhat_6.2/USER/src/PROJECT  
-  
-  
-  
-#  
-#  
-  
-Become root and use:  
-  
-chroot /opt/distros/redhat_6.2 /bin/bash  
-to obtain a shell with one of the secondary distros.  
-  
-  
-  
-#  
-#  
-  
-Finally, create a user (if necessary) within the  
-chroot-ed shell and develop, build, and/or test  
-your application within this "separate" Linux distribution!  
-  
-  
-  
-#  
-  
-Done! You now have a shell that is, for all practical  
-purposes, running within the secondary Linux distribution of your  
-choice.  
-  
-----  
-!!!4. Credits  
-  
-The ideas contained in this mini-HOWTO are not 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
+Describe [HowToMultiDistroDev] here