old-www/LDP/LG/issue76/tag/5.html

932 lines
33 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.4F.n">
<TITLE>The Answer Gang 76: booting multiple linux distributions</TITLE>
</HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
LINK="#3366FF" VLINK="#A000A0">
<!--endcut ========================================================= -->
<P> <hr>
<!--startcut ======================================================= -->
<CENTER>
<!-- *** BEGIN navbar *** -->
<!-- *** END navbar *** -->
</CENTER>
</p>
<!--endcut ========================================================= -->
<!--startcut ======================================================= -->
<P> <hr>
<!-- begin tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::-->
<p align="center">
<table width="100%" border="0"><tr>
<td align="right" valign="center"
><IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="middle" border="0"
><A HREF="..//"
><IMG SRC="../../gx/navbar/toc.jpg" align="middle"
ALT="[ Table Of Contents ]" border="0"></A
><A HREF="../lg_answer.html"
><IMG SRC="../../gx/dennis/answertoc.jpg" align="middle"
ALT="[ Answer Guy Current Index ]" border="0"></A></td>
<td align="center" valign="center"><A HREF="../lg_answer.html#greeting"><img align="middle"
src="../../gx/dennis/smily.gif" alt="greetings" border="0"></A> &nbsp;
<A HREF="../tag/bios.html">Meet&nbsp;the&nbsp;Gang</A> &nbsp;
<A HREF="1.html">1</A> &nbsp;
<A HREF="2.html">2</A> &nbsp;
<A HREF="3.html">3</A> &nbsp;
<A HREF="4.html">4</A> &nbsp;
<A HREF="5.html">5</A> &nbsp;
<A HREF="6.html">6</A> &nbsp;
<A HREF="7.html">7</A> &nbsp;
<A HREF="8.html">8</A> &nbsp;
<A HREF="9.html">9</A> &nbsp;
<A HREF="10.html">10</A> &nbsp;
<A HREF="11.html">11</A> &nbsp;
<A HREF="12.html">12</A>
</td>
<td align="left" valign="center"><A HREF="../../tag/kb.html"
><IMG SRC="../../gx/dennis/answerpast.jpg" align="middle"
ALT="[ Index of Past Answers ]" border="0"></A
><IMG ALT="" SRC="../../gx/navbar/right.jpg" align="middle"
WIDTH="14" HEIGHT="45" BORDER="0"></td></tr></table>
</p>
<!-- end tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<!--endcut ========================================================= -->
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
<img src="../../gx/dennis/qbubble.gif" alt="(?)"
border="0" align="middle">
<font color="#B03060">The Answer Gang</font>
<img src="../../gx/dennis/bbubble.gif" alt="(!)"
border="0" align="middle">
</A></H1>
<BR>
<H4>By Jim Dennis, Ben Okopnik, Dan Wilder, Breen, Chris, and...
(<a href="bios.html">meet the Gang</a>) ...
the Editors of Linux Gazette...
and You!
<br>Send questions (or interesting answers) to
The Answer Gang
for possible publication
(but read the <a href="ask-the-gang.html">guidelines</a> first)
</H4>
</center>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<p><hr><p>
<!-- begin 5 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>booting multiple linux distributions</H3>
<p><strong>From Orla McClean
</strong></p>
<p></strong></p>
<!-- sig -->
<!-- sig -->
<p align="right"><strong>Answered By Thomas Adam, Ben Okopnik, Heather Stern, Jim Dennis, mike ellis
</strong></p>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I need to install and be able to boot a couple of
Linux distributions on one
machine (along with W2K) Is there a recommended
method for doing this?
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Probably not; most folks tend to run just one distro. I can certainly see
wanting to experiment, though.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
</blockQuote>
<blockQuote>
Linux is flexible enough that there is no single recommended
way to get multiple Linux distributions installed on the same
system. There are lots of ways you can do it and each can meet
some needs, while each requires you to understand how UNIX and
Linux work "under the hood" and each may entail various tricks
to implement.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Thomas]
Well....you could always try un-installing W2K
&lt;grins&gt;...
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
One of my friends has a dual-boot laptop: Redhat because he needed to
understand the environment at work; <A HREF="http://www.suse.com/">SuSE</A> because he wanted to see a dif't
rpm based system, and its init system is a mite different too.
</blockQuote>
<blockQuote>
On my personal laptop I have 2 bootable areas; one's a dev setup, the other
is my normal life on there.
</blockQuote>
<blockQuote>
W2k is the hard part. I don't have any MSwin boxen right now, but the generic
procedure over the years has been:
</blockQuote>
<blockQuote><ol>
<LI>install Windows. expect it to take over the whole drive.
(obviously this is much easier if it came with MSwin already)
<LI>get all its apps settled in as happy campers
<LI>defrag and get the swap volume away from the end of the disk
<LI>resize its partition to give you a bunch of empty space.
DO NOT format this space under mswin.
<LI>boot off your linux install media
<LI>reconfigure the blank space only. Depending on your resizer you
may have to delete a bogus D: (second vfat) to give you the space
clear.
</ol></blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Huh. All I've ever done is one of the two:
</blockQuote>
<blockQuote><ol>
<LI>Install basic Wind*ws.
<LI>Use "FIPS" or whatever to split off whatever I want of the remainder.
<LI>Install Linux.
</ol></blockQuote>
<blockQuote>
or
</blockQuote>
<blockQuote><ol>
<LI>Boot with Tom's RootBoot or some other quickie; partition the HD.
<LI>Install Wind*ws in one.
<LI>Install Linux in others.
</ol></blockQuote>
<blockQuote>
I've never had a problem... I think it may be that Wind*ws recreates its
swap file as needed. If I ever suspected it of giving me problems, I would
just delete it.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Merely basic paranoia. I've been doing that sort of thing for a long while
and MSwin 3.1 wasn't really happy about it. However it was quite easy to
"defarg" - just tell it you feel like going with no swap file, and after
giving you the "living dangerously, eh?" rant, it would let you.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
What
partitions should I share etc (swp, boot?)
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
"swap" ...
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Trust me, swap doesn't give a rat's patooties. Unless you're using swsusp
patches (in which case, join the Gang, we could use your expertise) there's
no reason for it to, either.
</blockQuote>
<blockQuote>
See the "Windows sharing Swap with Linux" HOWTO, I forget which one it is,
but it's definitely on linuxdoc.org and therefore in most of your major
distros too.
</blockQuote>
<blockQuote>
Now *there's* something you can share, whatever passes for the <A HREF="http://www.linuxdoc.org/">Linux Documentation Project</A> (LDP) mirror
inside your distro kit.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
"boot"... eh, it may be possible, but you may be opening a can of
worms; I would separate everything as much as possible (this assumes that
disk space is not an issue - since you're talking about installing multiple
distros, I'm taking that as a given.)
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Boot is a much happier thing if it's early on the disk - esp if you're planning
to experiment with off-brand boot loaders. So having One Place For Kernels is
a good thing. Making them keep their modules with them, means less headaches
later.
</blockQuote>
<blockQuote>
To do this trick, you'll need room for the modules as well as the kernel
itself. This kit has been getting larger as time goes on, too. So you
should have more like a 20 MB <TT>/boot</TT> or 40 MB instead of 5-7 MB. (40 MB is
probably room for 3 to 5 kernels and their stuff)
</blockQuote>
<blockQuote>
After you have distro #1 installed:
</blockQuote>
<blockquote><code><font color="#000033"><br> cd /lib
<br> cp -a modules /boot/modules
</font></code></blockquote>
<blockQuote>
{chug chug}
</blockQuote>
<blockquote><code><font color="#000033"><br> mv modules MOVING
<br> ln -s /boot/modules modules
</font></code></blockquote>
<blockQuote>
After you have distro #2 installed:
</blockQuote>
<blockquote><code><font color="#000033"><br> cd /lib/modules
<br> cp -a * /boot/modules/
</font></code></blockquote>
<blockQuote>
{chug chug}
</blockQuote>
<blockquote><code><font color="#000033"><br> cd /lib
<br> mv modules MOVING
<br> ln -s /boot/modules modules
</font></code></blockquote>
<blockQuote>
repeat for as many distros as you put on there...
</blockQuote>
<blockQuote>
After you've rebooted it should be safe to get rid of <TT>/lib/MOVING.</TT> In theory
if the files aren't open... but no, it's <EM>much</EM> safer to have rebooted.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
&lt;smile&gt; That's what I meant by "a can of worms". My assumption here was
"keep it as uncomplicated as possible".
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Ah, but for a moment's complexity during setup, we get simplicity later:
</blockQuote>
<blockQuote><BLOCKQuote>
up2date wants to offer a new kernel
</BLOCKQuote></blockQuote>
<blockQuote>
apt-get kernel-image-2.4.17-idepci
</blockQuote>
<blockQuote>
kernel.org says 2.5.n came out
</blockQuote>
<blockquote><pre> make menuconfig &amp;&amp; make dep
make modules &amp;&amp; make modules_install &amp;&amp; make bzlilo
</pre></blockquote>
<blockQuote>
(well, that last <EM>might</EM> put the kernel "hard" in <TT>/</TT> as the file vmlinuz,
but it's normally a symlink there) Basically things about kernels
go to the right place then, happily ever after.
</blockQuote>
<blockQuote>
Keeping your lilo straight, that's your can of worms. But it's already
open the moment you said "dual boot" much less triple.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have
managed to get redhat and
mandrake working, but when adding Suse, I run into
problems.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
&lt;Sigh&gt; Go to <A HREF="../..//tag/ask-the-gang.html"
>http://www.linuxgazette.com/tag/ask-the-gang.html</A> and read through
the guidelines, especially the part about 'Beware of saying "doesn't
work"'. Then, rephrase the above question and try again.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Thomas]
Since you're using W2K, is it not perhaps feasible to
add menu entries into errm &lt;consults that aging brown
notebook of "DOS" commands&gt;...config.sys and
autoexec.bat, rather than using Lilo???
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Also my solution
is probably very crude. (Literally mounted the
partition with Mandrake on
from RedHat and put the boot file in lilo.conf)
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Thomas]
That is ok.....but I would have lilo installed on one
partition that you select, and then have stanzas
within that which points to the other drives.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
OK, I understood the part about mounting the "Mandrake" partition... could
you explain what you mean by 'put the <EM>boot file</EM> in "lilo.conf"'? As far
as I know, the only things you can put in "lilo.conf" are "lilo" keywords,
things like stanzas that specify partitions to boot, etc. What's a "boot
file"?
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Lilo.conf <EM>really</EM> has to be plaintext. Anything else is a disaster.
Lilo is limited to 16 boot stanzas.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Yep; that's what I knew about it.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'd like to have a shared home directory partition,
but beyond that, whatever
the most elegant structure for partitioning etc is,
is what I want.
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
No. You cannot share <TT>/etc.</TT> I have tried and it's broken and wicked. Too
many variations of apps have slightly different control structures in dif't
software revisions.
</blockQuote>
<blockQuote>
The closest I can offer you there is that you can mount <TT>/home</TT> and assign
each major app that you are going to keep in sync on all N distros -- e.g.
apache or bind -- their own "home" for their control files, and again put
in a symlink for the applicable place. But that symlink has to be named
what the <EM>distro</EM> expects... if one wants <TT>/etc/httpd</TT> and another wants
<TT>/etc/apache</TT>, you will break things if you try to "normalize" them.
</blockQuote>
<blockQuote>
For <TT>/home</TT> be careful about dotfiles. More on that later.
</blockQuote>
<P><STRONG>
<IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have
searched the HowTo's etc on this, but to no avail -
most discuss using only
one linux distribution. Maybe I need pointing in the
right direction?
</STRONG></P>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Thomas]
Why have multiple copies of Linux distros in the first
place??? -- perhaps that is a silly question.
</blockQuote>
<blockQuote>
On my 6.4 GB harddrive (using SuSE 7.1 professional),
I have partitioned it thus:
</blockQuote>
<blockquote><code><font color="#000033"><br>2.0 GB /
<br>15MB /boot
<br>2.0 GB /usr
<br>1.0 GB /home
<br>1.0 GB /archive (backup partition)
</font></code></blockquote>
<blockQuote>
Hope this Helps?!?
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Well, in theory, what you want to do shouldn't be that hard: you'd just end
up with a lot of partitions. Or not - since you're experimenting, and are
presumably going to blow all this stuff off at some point, you don't have
to be quite as persnickety about carefully isolating everything.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
At some point you may have to use mknod and create more dev nodes; your
distro may not be prepared for having <TT>/dev/hda14</TT> for example.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
As an
example, for a typical production system, I might have something like:
</blockQuote>
<blockquote><pre>hda1 swap 128MB is a reasonable "I have no idea what I need" guess
</pre></blockquote>
<blockquote><pre>hda2 /tmp 100MB, more if you abuse it like I do :)
</pre></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
My favorite <TT>/tmp</TT> abuse is that this is where tarballs are unpacked when I surf
into them with Midnight Commander (mc).
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
&lt;laugh&gt; I see that we have the same exact definition of "<TT>/tmp</TT> abuse".
</blockQuote>
<blockquote><pre>hda3 /boot ~10MB
</pre></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
When you add the modules into this, 30 MB or 40 is more like it,
but <EM>well worth</EM> the synchronized behavior you get. Also if you roll your
own kernel at some point it will become "live" to all your distros at once.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
</blockQuote>
<blockquote><pre>hda4 /home (varies w/amt of available space)
</pre></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
and amount you expect to use it. If you're just gonna surf this doesn't
need to be huge, and might not need to be seperate from /
</blockQuote>
<blockQuote>
But if you expect to <EM>use</EM> it for anything - downloads, a few music files,
letters to mom and cool pictures - you'll want it seperate.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
</blockQuote>
<blockquote><pre>hda5 /usr ( -- " -- )
</pre></blockquote>
<blockquote><pre>hda6 /var ( -- " -- )
</pre></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
log files, mail go here. If you don't do much mail and prefer not to watch
logs then 200 MB is fine. If you're running a news server (?! on a triple
boot? no way) you'd need a bunch more.
</blockQuote>
<blockQuote>
(A later caveat that occurs to me is, this is also where the package manager
databases are stored, so don't cut it down too far, or you may have trouble
adding packages.)
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
</blockQuote>
<blockquote><pre>hda7 / ( -- " -- )
</pre></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
distros vary on their minimums for this; a couple of them seem to insist
on a <TT>/opt;</TT> I always symlink <TT>/opt</TT> to <TT>/usr/local</TT> at the earliest opportunity;
because I'm experienced, I can do this during the install -- just make
sure the target systems are mounted but you haven't made software selections
yet, then visit the other virtual consoles.
</blockQuote>
<blockQuote>
In SuSE last I looked this would cause it to whine about free space but it
would still do it and everything would work.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
For what you're doing, you might want to think about something like
</blockQuote>
<blockquote><pre>hda1 swap 128MB
hda2 /home Whatever space you care to allocate to it
hda3 /D1 Distro1
hda4 /D2 Distro2
hda5 /D3 Distro3
</pre></blockquote>
<blockQuote>
and so on; mount <TT>/hda2</TT> on "<TT>/home</TT>" for all of them. Slightly crude, but
effective - and a lot of people have their 'regular' running setup done
this way (I did, for several years.) When you're done experimenting -
presumably you will be, at some point - you can blow off that partition
structure, all except the first two, slice the remainder to taste, and
garnish with a little bit of ext3 or ReiserFS. Yum.
<IMG SRC="../../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Errr, recall he mentioned MSwin.
</blockQuote>
<blockquote><pre>hda1 C: 1 GB+
hda2 /boot 40 MB
hda3 swap 128 MB &lt;-- this can be more, if you have more memory.
hda4 extend
hda5 /tmp 400 MB
hda6 /D1 Redhat
hda7 /D2 Mandrake
hda7 /D3 SuSE
hda8 /D4 Debian
. . . etc ad disc-emptia . . .
</pre></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Or less, if you have more memory.
<IMG SRC="../../gx/dennis/smily.gif" ALT="&lt;grin&gt;"
height="24" width="20" align="middle"> Just depends on how much "more"
actually means, and how hard you flog it.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
yeah, well, I do a lot of jpeg stuff, and then switch off to other things;
if it's gonna swap, it needs to swap to somewhere.
</blockQuote>
<blockquote><font color="#000066"><IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather] And of course we have our stranger experiments.
</font></blockquote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Yep, I'm having fun playing with a journalling file system. 'Snice.
<IMG SRC="../../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
</blockQuote>
<blockQuote>
For example, I run <A HREF="http://www.debian.org/">Debian</A> on my laptop. The bootable installation
is Debian Potato (stable). Under <TT>/home/.chroot</TT> (a subdirectory)
I have an entire installation of Debian "unstable." When I want
to play with new features I use the following commands:
</blockQuote>
<blockQuote><BLOCKQuote>
cd <TT>/home/.chroot</TT> &amp;&amp; chroot . <TT>/bin/bash</TT>
</BLOCKQuote></blockQuote>
<blockQuote>
... and I'm able to work in inside of that directory almost as
if I'd booting using that system. (My kernel, networking and some
network services/daemons, and cron etc are all "outside" of this
subsystem --- but that isn't a problem for what I want to do, and
there are various tricks I could use to work around those limitations
if I need to do so).
</blockQuote>
<blockQuote>
Heather (my wife, and the editor for <EM>LG</EM> TAG), has a "Debian" chroot
on her S.u.S.E. desktop system. If I understand it correctly she
uses that to test out software upgrades and installations before
rsyncing it to her laptop. So the Debian subsystem on her desktop
is also a mirror/backup of her laptop.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Um, actually, I have several...
</blockQuote>
<blockQuote>
I have 3 debian chroots...
</blockQuote>
<blockQuote><ol>
<LI>a "pure backup" of my laptop... I keep thinking someday it'll be a way
for me to hotsync more like an MSwin "my briefcase" ... since my canonical
mailbox is on the desktop, and my projects have their own users on the
desktop but sometimes only directories on the laptop. But for now, it
certainly works.
<LI>a "pure potato" build environment, which I use for running
'apt-get -b source' against unstable source trees, and for
building external sources
<LI>a "woody/testing" build environment, for pretty much the same, but
up to date stuff. Also for testing that things can install in plain
testing without causing headaches.
</ol></blockQuote>
<blockQuote>
Every once in a while I clone the "pure" one to test upgrade behaviors
before inflicting them on my laptop, which I consider to be a production
machine. And then I just drop the apt archives across.
</blockQuote>
<blockQuote>
But I also have the LNX-BBC dev environment (chrooting into that kit takes
some ramdisks and loopbacks) and make my own <A HREF="http://www.toms.net/rb/">Tom's rootboot</A>s (likewise) so
my <TT>/mnt</TT> area has subdirectories:
</blockQuote>
<blockquote><pre> /mnt/a floppies
/mnt/cd the real cd
/mnt/bbc for loopback mounting cd's
/mnt/b for loopback mounting floppies
/mnt/r0 r1 r2 r3 ramdisks
/mnt/point the "guest" mountpoint, most folk would use /mnt
</pre></blockquote>
<blockQuote>
For distro chroots, partition the beastie using your favorite method.
</blockQuote>
<blockQuote>
/home/distro1
(a chroot environment containing the whole of another distro)
</blockQuote>
<blockQuote>
But, this is harder to set up the first time, since <EM>some</EM> installers can't
deal with the idea they can't own the partition. Gosh, you'd think they
were following the tracks of those from Redmond
<IMG SRC="../../gx/dennis/smily.gif" ALT=";P"
height="24" width="20" align="middle">
</blockQuote>
<blockQuote>
In my case the extra distro area started as a proper backup of my laptop,
but has, ahem, evolved considerably since.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
</blockQuote>
<blockQuote>
It's also possible (with a little fussing) to install a set of
different Linux distributions such that they all share one
<TT>/boot</TT> partition (which just holds kernels, System.map files,
and a few map, backup and library bits). A complex lilo.conf file
can then match each distribution's kernel to its root filesystem.
So you might have something like <TT>/boot/vmlinuz-SuSE-2.4.14</TT>
matched to <TT>/dev/hda7</TT> (it's root fs). Thus you select SuSE and
lilo picks the kernel, passes it a root=/dev/hda7 (and possibly
some other parameters) and you're in your SuSE system. All of
your distributions can share the same <TT>/boot</TT> and <TT>/home</TT>, <TT>/usr/local</TT>
or other ancillary filesystems --- but each can get its own
root, usr, and var (which can be separated or combined in just
about any way that suits your fancy).
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Oh, I'd be careful about <TT>/home</TT> ... beware of what the dotfiles in your
user home directories might get themselves into. Some apps like The GIMP
are written well for the expectation they'll be revised. Some others
(like Netscape 4 vs Netscape 6) may not be so inclined to do the right
thing. Avoiding having dotfiles at all for any apps you just don't use
helps a lot.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
</blockQuote>
<blockQuote>
The fussing is just in the installation. In some cases the
easiest installation procedure might be to start with an extra
(small) hard disk, install the distro into a suitably small
partition or set of partitons on that; back that whole system up,
and then restore it to a set of manually created and mounted
partitions on your main hard drive.
</blockQuote>
<blockQuote>
Bill Schoolcraft, a talented and enthusiastic Linux support
professional with whom I had the great pleasure of working while
I was at <A HREF="http://www.linuxcare.com/">Linuxcare</A>, had his desktop system configured with about
a dozen different Linux distributions using some scheme like
I've just described. He also had <A HREF="http://www.freebsd.org/">FreeBSD</A>, <A HREF="http://www.openbsd.org/">OpenBSD</A>, and "Open"-Solaris
x86 installations on that or some other system.
</blockQuote>
<blockQuote>
Under this scheme its also possible, and reasonably safe, to
try mixing and matching the kernels from any one distribution
with the root/usr filesystems of any other. All of that will
mostly work, though you might find some programs complaining about
missing support for one or another optional kernel features.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
For the readership - that'd be amongst <EM>linux</EM> distributions ... the
BSDs probably are <EM>not</EM> safe to share that way.
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
</blockQuote>
<blockQuote>
It's also possible to mount up the "alien" filesystems in
just about any silly combination you like. So you could boot
into your RedHat 7.2 kernel with its rootfs (all on ext3, perhaps)
and mount your SuSE/Reiserfs rootfs under <TT>/mnt/suse</TT> (or wherever).
This is possible because the RedHat 7.2 kernel has reiserfs support
linked into it, though it's practically undocumented. If you
stick with ext2 for all of your filesystems then there will be
no problem sharing those under any distribution you could find.
If you try to mount a RedHat 7.2 ext3 filesystem under a S.u.S.E
6.x distribution it might fail or (because of ext3 backwards
compatibility to ext2) it might work but have some odd effects
if you hadn't cleanly unmounted/shutdown the fs when it was
mounted under an ext3 capable kernel).
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike E]
Just had a thought on this thread - the original problem was to to with
SUSE co-existing with RH/Mandrake
</blockQuote>
<blockQuote>
Could it possibly be a problem with Reiser - I know that SUSE (7 and
above loads reiser cant remember which version default - RH guy) but
reiser does not play nicely with ext2/3 especially in boot/root
partition - worth looking at
</blockQuote>
<blockQuote>
<IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
</blockQuote>
<blockQuote>
Of course you can also build your own kernels and ensure that
they have support for <EM>all</EM> of the features you need from
all of your distributions and for all of your filesystems. This
isn't any more difficult than building a kernel for "just one"
system and distribution. (There isn't that much difference
in features among the distributions at the kernel level. Most of
those apply to special packages, like Oracle, or special hardware
like some chipsets and adapters that are common in Europe and
obscure on this side of the pond, etc).
</blockQuote>
<blockQuote>
Yet another technique is to install a copy of VMWare (commercial
software) and use it to create a number of "vdisks" (disk images)
and then to install different distributions into each of those.
</blockQuote>
<blockQuote>
And, of course, it's often possible to keep a small stack of
extra hard drives around, and some laptops have carriers and
brackets that make swapping drives relatively convenient.
</blockQuote>
<blockQuote>
So, you're really only limited by your own creativity and
willingness. Do the "Schoolcraft" thing: install a dozen
distributions on that 60Gb hard disk today!
</blockQuote>
<!-- end 5 -->
<P> <hr> </p>
<!-- *** BEGIN copyright *** -->
<H5 align="center">This page edited and maintained by the Editors
of <I>Linux Gazette</I>
<a href="http://www.linuxgazette.com/copying.html"
>Copyright &copy;</a> 2002
<BR>Published in issue 76 of <I>Linux Gazette</I> March 2002</H5>
<H6 ALIGN="center">HTML script maintained by
<A HREF="mailto:star@starshine.org">Heather Stern</a> of
Starshine Technical Services,
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H6>
<!-- *** END copyright *** -->
<!--startcut ======================================================= -->
<P> <hr>
<!-- begin tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::-->
<p align="center">
<table width="100%" border="0"><tr>
<td align="right" valign="center"
><IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="middle" border="0"
><A HREF="..//"
><IMG SRC="../../gx/navbar/toc.jpg" align="middle"
ALT="[ Table Of Contents ]" border="0"></A
><A HREF="../lg_answer.html"
><IMG SRC="../../gx/dennis/answertoc.jpg" align="middle"
ALT="[ Answer Guy Current Index ]" border="0"></A></td>
<td align="center" valign="center"><A HREF="../lg_answer.html#greeting"><img align="middle"
src="../../gx/dennis/smily.gif" alt="greetings" border="0"></A> &nbsp;
<A HREF="../tag/bios.html">Meet&nbsp;the&nbsp;Gang</A> &nbsp;
<A HREF="1.html">1</A> &nbsp;
<A HREF="2.html">2</A> &nbsp;
<A HREF="3.html">3</A> &nbsp;
<A HREF="4.html">4</A> &nbsp;
<A HREF="5.html">5</A> &nbsp;
<A HREF="6.html">6</A> &nbsp;
<A HREF="7.html">7</A> &nbsp;
<A HREF="8.html">8</A> &nbsp;
<A HREF="9.html">9</A> &nbsp;
<A HREF="10.html">10</A> &nbsp;
<A HREF="11.html">11</A> &nbsp;
<A HREF="12.html">12</A>
</td>
<td align="left" valign="center"><A HREF="../../tag/kb.html"
><IMG SRC="../../gx/dennis/answerpast.jpg" align="middle"
ALT="[ Index of Past Answers ]" border="0"></A
><IMG ALT="" SRC="../../gx/navbar/right.jpg" align="middle"
WIDTH="14" HEIGHT="45" BORDER="0"></td></tr></table>
</p>
<!-- end tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<!--endcut ========================================================= -->
<P> <hr>
<!--startcut ======================================================= -->
<CENTER>
<!-- *** BEGIN navbar *** -->
<!-- *** END navbar *** -->
</CENTER>
</p>
<!--endcut ========================================================= -->
<!--startcut ======================================================= -->
</BODY></HTML>
<!--endcut ========================================================= -->