I would like to build software packages for a variety of Linux distributions on the same computer. One way to accomplish this might be to have a directory hierarchy like the following:
/dist /fecoracore1 /fecoracore2 /fecoracore3 /redhat80 /redhat90 /suse90 /suse91
where "redhat80" contained an entire Red Hat 8.0 distribution. It would then be a simple matter to chroot into one of the directories, update SVN, and start building.
Assuming that I didn't want a separate partition for each distribution, how would I go about installing them?
One way would be to install into a staging partition, then tar/rsync/pax/cpio'ing it into the preferred "dist" directory. I'd rather not have to bring the system down each time I install a target OS, however.
Is there a standard method for doing an install similar to Solaris' "Live Update" for the different Linux distributions? This would be pretty straightforward under Gentoo, since its installer program is a bash prompt. Is such a thing possible with Red Hat, Fedora, or SuSE?
-----Original Message----- From: kclug-bounces@kclug.org [mailto:kclug-bounces@kclug.org] On Behalf Of Gerald Combs Sent: Sunday, December 19, 2004 6:44 PM To: kclug Subject: Out-of-band OS installation
[snip]
where "redhat80" contained an entire Red Hat 8.0 distribution. It would then be a simple matter to chroot into one of the directories, update SVN, and start building.
Assuming that I didn't want a separate partition for each distribution, how would I go about installing them?
I think this would be a good opportunity to examine User Mode Linux... you can assign a file system to a new OS install, which in the same fashion as programs such as VMWare keep that whole file system in a directory, etc.
Modern distros are coming with UML either ready, or darned close to it from a new install. SuSE Enterprise Server 9.0 does, as well as Fedora Core 3. (I'm sure there are many others as well.)
Dustin
Dustin Decker wrote:
I think this would be a good opportunity to examine User Mode Linux... you can assign a file system to a new OS install, which in the same fashion as programs such as VMWare keep that whole file system in a directory, etc.
Thanks for the suggestion, but I'd rather avoid having to manage a pile of filesystems -- I want a huge hokin' shared "dist" directory containing the "root" directory for each distribution. I'd also like to avoid the overhead of several UML kernels running at the same time when I'm trying to compile packages.
I just found the page of someone who's already doing this: http://www.hyperborea.org/software/dillo/system.html . He's apparently looking at a package called "mach" to create each build root: http://thomas.apestaart.org/projects/mach/ .
Assuming that I didn't want a separate partition for each distribution, how would I go about installing them?
install each, in turn, into a small thowaway "working partition", after the install is done, do a cp -R or a tar cpf - | (cd ...; tar xvpf - ) to copy the installation into its virtual mount point. Then, you can chroot to the virtual mount points and there you are.