Mailinglist Archive: opensuse (2483 mails)

< Previous Next >
Re: [opensuse] Partition usb disk to boot 4 OS systems

----- Original Message -----
From: "Dave Feustel" <dfeustel@xxxxxxxxxxxxxx>
To: <opensuse@xxxxxxxxxxxx>
Sent: Friday, January 02, 2009 9:56 AM
Subject: [opensuse] Partition usb disk to boot 4 OS systems

I have read documentation on various disk partitioning programs but I
continue to be very confused (probably too much time spent with DOS
partition disks). I would like to repartition a new (DOS-partitioned)
usb drive so that I can boot any one of 4 bootable Linux operating
systems (2 32-bit and 2 64-bit versions of Fedora 10 and Suse 11.1). I
suspect this will be obvious to me after I understand the process, but
right now I don't understand just what is involved. Can soemone post the
sequence of commands to delete the DOS partition and create the needed
Linux partitions with their favorite Linux disk partitioning program?

One problem is there is more than one way to skin that cat.
There are at least a half dozen boot loaders to choose from, and there are
multiple ways of arranging things that are all equally right or correct, and
yet, they are different, one way is right for one person or for one purpose,
yet wrong for other people or other purposes.
* one boot loader which knows how to boot each os directly
* a master boot loader which doesn't boot the other os's directly but just
chain loads each individual other os's own boot loader.
* master boot loader is grub and requires a boot filesystem and is administered
from linux? or fully self-contained, lives entirely within the boot record, no
partition of filesystem needed anywhere, no OS needed either to install or to
configure, such as GAG?
* shared /boot and swap among all OS's and one root fs seperate for each?
* lots of logical/extended partitions, or, use GPT and just have lots of
partitions period, and each OS can have several partitions.
* partition tables within partitions, so that each OS can not only have several
partitions, but within each OS the disk will appear to be it's own full
seperate disk, so in OS1, /boot is sda0, and in OS2, /boot is also sda0, yet
they are two different physical places on the real disk.

There are advantages and disadvantages to each possible arrangement. We can't
tell you which is best because it depends on what you want to do with these
things. For istance, if each OS is going to be a sort of reference, then that
last option most closely mimics a plain full seperate OS istall in some ways,
and is safer from one OS messing up the others, but the boot arrangements will
be pretty unusual. One thing is stranger but makes the rest of the OS simpler.
The 1st and 2nd options are about equally easy to set up, each with a small
trade-off. Option one is easy to firgure out, but will get pretty messy when
you want each OS to have several possible boot options, like 2 or 3 different
kernels and 2 or 3 different sets of boot options for each kernel ("safe" mode,
etc..). Option 2 is about the same difficulty to figure out, but then each OS
can administer it's own seperate boot loader with it's own set of several
possible kernels and boot options. The other ideas are things that could be
applied or not, to whatever else you do.

One way would be to define a single /boot and a single swap partition shared by
all the OS's, using 2 primary partitions, and then use a 3rd primary partition
to hold 4 logical/extended partitions where each would be / for one OS. No
specific commands. Use any utility you like in any OS you like to set the
partitions up, or, just use the full-screen interactive menu driven
point-click-drool partitioner dialog in the installer of whichever first OS you
go to install.

Another would be to have a completely stand-alone boot loader, maybe GAG which
doesn't need any partition but lives entirely within the boot sector and is
entirely self contained. Install , edit/config, use, edit some more, all
happens from within it's menus duing boot.
Then you can have 4 primary partitions each with a fully seperate linux
install, complete with their own boot loaders and swap partitions. GAG in the
master boot record just loads the boot loader (generally grub) from the
begining of one of the other partitions. Then each OS is free to administer
it's boot loader without worrying that it would screw up booting the other OS's.

And there are other weirder possible arrangements depending on exacly what you
want these OS's for. IE: if they are a sort of reference, then the fully
seperate way might be best, since it more closely mimics a simple dedicated hd

Going further, Maybe it's important or at least would be nice or helpful if the
disk device naming/numbering be consistent? Such that in each OS the root fs is
always (for example) on the 2nd partition of the 1st hda or sda device? You
could have that via partition tables within partitions and devicemapper,
similar to what you can do for virtual machines, where you take a file or a
partition, and instead of putting a filesystem in it, you put a partition table
in it and pretend it's a disk. Then each OS thinks it has it's own disk, which
gives you 3 things that may or may not matter to you.
1) device naming & numbering is consistent in all OS's (if you want). IE, the
root fs can always be the same first partition on the fist disk.
2) you can have the full potential number of partitions as a whole dedicated
disk. If you want 7 partitions in each OS, you can. Actually, if you want one
OS to use a MSDOS partition table and another OS to use a GNU partition table,
you can.
3) disk access within each OS is a little safer, or rather, a little easier to
always know that you are safe. What I mean is, Within one OS, it would be
possible to get hardware level access to the rest of the real disk and mess up
the other OS's and the master boot loader, but it would be easy to avoid doing
so because your whole virtual disk would be one root device name. You would be
free to do anything you want to /dev/sda*, format it, repartition, write zeros
to it with dd, and all you would break is that one OS. Any other shared drive
scheme and you have to always be sure which partitions were OK to mess with.
And with 4 OS's and each potentially haing several partitions & filesystems,
that can get easy to make a mistake sooner or later.

In some ways this last idea even more closely causes each OS to mimic a
dedicated simple full drive install, and in some ways it's very unusual because
the boot loader setup will be special.

One of the better options depends on your hardware. Not all motherboards
understand GPT (gnu partition table) but if yours does, then you can have lots
of simple partitions without the limits msdosk tables have. each OS would have
different device numbers for it's partitions but it would be nice & simple to
set up vs the devicemapper virtual disk idea. You'd just have to never make a
mistake that os1 uses ONLY sda2,3,4 and os2 uses sda5,6,7 and os3 uses
sda8,9,10 etc.. and all os's might use sda1 for /boot.

By the time you can even answer these questions about what type of arrangement
is best for what you want these installs for, you most likely won't need to ask
anyone how to go about it in general, and would only need more specific help
with some more specific problem you run into along the way, like you set up the
partitions and installed a boot loader and it starts to load a kernel but then
that kernel fails to find it's own root filesystem. THEN you have a specific
question that has a specific answer or a clear course of diagnostics to arrive
at an answer.

Brian K. White brian@xxxxxxxxx
filePro BBx Linux SCO FreeBSD #callahans Satriani Filk!

To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx

< Previous Next >