Multiboot config with SuSE 11, PCLinux2007 and XP?


I want to upgrade one of my rigs from pure SuSE 10.3 to multiboot SuSE 11 / Windoze XP /C.A.E. Linux 2008 (it’s based on PCLinux 2007).

Hardware works 100% (…tested separately for each OS - no surprises here…).

HDD will be 320GB. PCLinux 2007 must go on a single (root & user unified,…required by software…) partition 20-25GB in size. The rest can be shared between XP and SuSE with two partitions for each.

Since I haven’t tried this before, I am looking for advice:

  1. Am I right, that I should start with XP installation first?
  2. Which one to install second, SuSE or PCLinux?
  3. GRUB is set up automatically or do I have to do it manually?

Any hints, suggestions, points of caution, pointers?

Many Thanks in advance

From reading up on it, and from dual-booting OpenSUSE 11.0 and XP myself, I believe that you must install XP first for OpenSUSE to recognize it and be able to boot into it through GRUB. As for the second question: I’m not sure which you should install next. My suggestion (not a fact, because I am not sure if this is correct) would be to install PCLinux first so OpenSUSE can recognize the Operating Systems and create mount points for them. The last question: I only have XP installed, other than OpenSUSE, but when you install OpenSUSE, YaST will automatically create a mount point for XP, but I’m not sure with PCLinux. If GRUB does not automatically recognize PCL, then when you get to the Disk section of your installation, you can edit the partitioning settings for GRUB and your OpenSUSE system to create a mount point for it. I have not done this personally, so I don’t want to lead you off in the wrong direction, but this would be where you can create the mount point if you know what you are doing. Sorry for the lack of knowledge on the PCLinux section of your question, but I have only dual-booted Windows XP with OpenSUSE 10.3 and then OpenSUSE 11.0.

Hope that clears some questions up. :slight_smile:

XP requires you to set aside the first partition on the first drive for the Microsoft bootloader codes. You can get around this with fancy footwork but with a fresh hard drive to work with there’s no point or apparent reason to circumvent XP’s requirement.

I think you should install Suse last so Suse can include the prior two into it’s Grub code in menu.lst. We can assist if something strange happens because we understand Suse (a bit) whereas we can’t be quite a s supportive if you do the reverse and try to get PCLinux to incorporate Suse & windows into its boot code.

Suse’s Grub sets itself up automatically during the installation. There are magic scripts in Yast that make the correct entries for the other OSes in Suse’s Grub menu file (menu.lst).


Apologizing for the late reply (had some major DSL problems) here is an update:

I carried out all of the OS installs following provided advice and everything went really smooth. To be specific, the installation sequence is WinXP first, then CAELinux (PCLOS2007) and finally SuSE. Both SuSE and PCLOS recognize WinXP and automatically allocate mount points for the relevant partitions but they are agnostic to one another. Even SuSE, that was installed last, ignores the PCLOS partition. That could be either a plus or a minus - depending on how you look at it… For me it is definitively preferable, so I’m happy with it. The chain loading sequence with GRUB works Ok too with SuSE loading its boot options by default and showing WinXP and CAELinux entries. If CAELinux is chosen, the PCLOS boot screen gets loaded having separate CAELinux and WinXP options. My only problem is that I’m out of partitions. Originally what would be ideal in terms of partitioning scheme was:

  • 1 swap partition
  • 1 NTFS partition for WinXP
  • 1 FAT32 partition to store files accessible to all OSes
  • 1 ext3 partition for CAELinux/PCLOS (root+user)
  • 1 ext3 partition for SuSE (root)
  • 1 ext3 partition for SUSE (user)

That makes number of primary partitions 5 whereas 4 is the limit and hence SuSE is forced to install to a single partition :(.
Is there any way to circumvent this?

Many Thanks for the help
Best Regards

…to clarify my last question, is it possible to have the installer allocate an extended partition for SuSE with two logical drives one for root and the other for user?

If you wish to have more than 4 functional partitions, then you must use 1 of the 4 as an extended, containing the remaining partitions as logicals. So, according to your post above, you cannot use logicals because all 4 of the primary slots have been used for regular primaries, i.e., you don’t have a primary available to use as the extended. I’m afraid that you’ll need to delete the 4th, re-create it as an extended, create a first logical (so this is now partition 5) and re-install PCL on it, and then create how ever many more logicals you want for SuSE.

There are alternatives to the above, but unless you really want to go there, I won’t. In each, you’re doing even more re-installs and/or the numbering in the partition table gets strange and/or other risks get enter in. Best to keep it straightforward.

The conventional approach would have been to install XP on the first partition. Also just fyi note that this is not strictly required for XP; what is required is that the Windows “system volume” which holds the boot loader, be on the partition that is marked “active” (in the table). The Windows MBR bootstrap program is hard-coded to hand-off to the active partition’s boot sector, whichever partition that may be. Chain loading from grub is doing exactly the same thing, i.e., handing off to the Windows system volume boot sector, except, that grub does not use the active flag to find it, you tell it which partition in menu.lst (and hence the active flag is not used).

No problem about the reinstall; I was going to do it anyway -
for unrelated reasons (…to try a newer PCLos version).
To retrace my installation steps:
> I started out with the HDD maker’s software to allocate two primary partitions one NTFS the other FAT32, leaving the rest of the space unallocated
> I installed normally WinXP
> I installed PCLos. After examination, it seems the installer that PCLos uses, does create an extended partition with two logicals one main partition and one for swap.
> Finally I installed SuSE. It appears (if I’m guessing correctly…) that since there already was an extended partition (occupied by PCLos) and SuSE could not allocate space on it the only allowable partitioning scheme could be for one more primary and this was what actually happened…

If I got it right, and use a partitioning tool like GParted beforehand, I would create manually a swap partition and a primary for PCLos and force it to install there instead of leaving it to create an extended for itself. In that case will SuSE go for an extended during installation, or should I prepare all partitions beforehand?

Best Regards

Sorry, I mis-read your earlier post listing the partitions. I incorrectly read this to be the order you were using, with swap the first. My bad.

I have to assume that the PCL install partition logic determined to create an extended because otherwise it would have taken the two remaining primaries, leaving no room for expansion. So the extended is in the 3rd primary slot. Leaving only the remaining primary for openSUSE. So, yes, your conclusions are right.

I don’t know whether the PCL installer gives the same granular control as does SuSE’s. So, you may want/need to set the PCL partitions up beforehand. How you set it up is a matter of personal preference. Personally, I would use #1 #2 as you have for XP and FAT32, then #3 for swap, then make #4 the extended which will use all the remaining space. Then add the logicals (i.e., #5, etc.) - as long as you have sufficient space, you can create however many makes sense, in the order that makes sense (e.g., 1 for root, 1 for /home for PCL, then again the same for SuSE).

Many thanks for the input. Agrees with what I was thinking.
Will do with a fresh install from scratch and revert with an update. Will have to try some things first, though…I would like to use the newer CAELinux 2008 which is based on an updated PCL. Problem is there is a bug in a kernel module that hangs during bootup from the LiveDVD. Only safe mode w/o ACPI starts normally. I will try to see if I can install it like that and then do an update (will probably update the kernel as well…) to see if this fixes the problem. :rolleyes: Well, anyway this is irrelevant to my original question, but an in-between hindrance nevertheless…

Best Regards

Just one additional thought . . . if you want to create the partition setup in advance (it’s not wise to create the Linux partitions with XP), you can use a live-CD to do that. You can also format in advance, although it is preferable to format with the distro that you are installing.

Well :slight_smile: I did… All of the partitioning work, I did with Parted Magic, besides the original NTFS partition for Windows (…don’t know why but I’ve seen instances where the Win installer did not like/recognize the NTFS partitions created with GParted :confused:). The work order was:

> Use HDD maker’s partitioning tool (Seagate) to create the NTFS primary.
> Use Parted Magic (GParted) to create a FAT32 primary.
> Install WinXP.
> Use Parted Magic (GParted) to create an extended partition with two logicals, one swap and one ext3 for PCLinuxOS, leaving the trailing unallocated space as is.
> Install PCLinuxOS (force) on the created partition.
> Install SuSE on the unallocated space opting for two split root/home logical partitions.

Everything boots Ok. I’m almost done…pending to do a frugal install of Puppy on the FAT32 and add a suitable entry for GRUB.

Many thanks for the help and the fresh ideas
Best Regards

You’re quite welcome. Glad to have been of help. Enjoy . . .

I have a similar situation, created over time, but my combination is:

  • Vista (not used actually, just to preserve),
  • openSUSE 10.3 with KDE 3.5.9,
  • openSuse 11.0 with KDE 3.5.9
  • openSUSE 11.0 with KDE 4.1

For each system 2 (20Gb) partitions were created (NTFS, FAT32 and 6 times EXT3).
In addition one big (150Gb) EXT3 /data partition for my personal data (documents, music, photo, film, E-Mail and bookmarks) used by all 3 openSUSE systems and a linux swap partition (2Gb).

I have the following questions:

1 -How should I set it up in case of a new install, with respect to primary/logical partitions and where to put the /data respectively swap partition.

2 -Currently 2 systems (Vista and openSUSE 11.0 with KDE 4.1) boot directly from 1st Grub menu list while the other 2 boot via a 2nd Grub menu list. Can I correct this situation and if yes how?

3 -While doing a new install of one of the openSUSE systems I am still puzzled with how to set up bootloader with respect to various bootloader locations for the succesive openSUSE systems and the bootloader options to use. Please explain or is there a clear how to.

Thanks in advance

Regards, Frans

1 -How should I set it up in case of a new install, with respect to primary/logical partitions and where to put the /data respectively swap partition.

I don’t follow your question re a new install, as you already have 3 root partitions. You can install a linux root in any partition of sufficient size anywhere on the disk. Obviously, depending on what the current layout is, that could involve moving/resizing if more space is required. As far as where to locate the data or the swap, physical placement on the disk particularly the swap was once important but with Linux and modern drives, that is no longer a concern. Unless you have limited RAM, Linux will use the swap partition very little. And even if so, with today’s disk speeds, cache, and platters (especially if the drive is perpendicular), it’s just not an issue.

2 -Currently 2 systems (Vista and openSUSE 11.0 with KDE 4.1) boot directly from 1st Grub menu list while the other 2 boot via a 2nd Grub menu list. Can I correct this situation and if yes how?

3 -While doing a new install of one of the openSUSE systems I am still puzzled with how to set up bootloader with respect to various bootloader locations for the succesive openSUSE systems and the bootloader options to use. Please explain or is there a clear how to.

I don’t think there will be a simple howto about this. But, it’s simple enough to understand. You can choose to have a single menu.lst control the boot for all the OS’s (called “direct”), or you can “chainload” between them just as you chainload to Windows. In each OS instance’s menu.lst the stanza that boots it has a “root” line which points grub to the partiton where its kernel and initrd are located, and on the kernel line there is a “root=” argument which tells the kernel where to find the matching root (/) partition (which can be different). In the method of using a single menu.lst for control, it is simply a matter of copying the boot stanza from the other menu.lst’s. This is how Debian works. And, you can get YaST’s help to do this; in the Boot Loader module under the Other button you can tell YaST to “Propose and Merge with Existing Grub Menus”. The downside of this approach is that when the kernel changes and menu.lst is updated in one of the other instances, you must go thru the copying routine again to keep the primary menu.lst in sync. The upside is you don’t need to pay any attention to installing grub from the secondary instances, there is a single grub installation in the MBR. The alternative, which also uses grub in the MBR, is to install grub in the boot sector of the root partition of each instance. You still have a primary menu.lst which the MBR grub points to, but in that menu.lst instead of the standard root/kernel/initrd stanza you use a chainloader stanza (like with Windows). That instructs grub to hand-off control to whatever is in the ref’d partition’s boot sector, which is another copy of grub.

It’s really just a matter of preference. On my primary workstation where I have several test instances installed plus a backup mirror of my production instance, I use a hybrid setup (and note, this machine has 5 disks). My production instance /boot is on its own partition (well, actually 2, because I have /boot on a RAID 1 array); for the test instances I chainload as that’s most convenient. I don’t want to maintain a synchronized master because I make changes to those instances all the time. For the mirrored instance, I also have the boot sector installed for chainloading from the production /boot menu.lst. But, the mirror is on its own drive, so I also have grub installed in that drive’s MBR and the mirror has a menu.lst which is to be used if I boot from that drive, i.e., in the event of failure of my primary /boot, I can switch the bios boot sequence to boot from the mirror and it can control all the booting as can the production grub. Obviously, this is more complex, but it just illustrates the flexibility you have. If I had your setup, I would probably just choose which is the primary instance, install grub to the root boot sector for all other instances, and have the primary menu.lst chainload to the others.

Hope that helps.