### Triple booting

From Raj Shekhar

Comments By with comments by Mike Orr, Heather Stern, Rick Moen

> In response to LG 84, Tips 25: http://www.linuxgazette.com/issue84/lg_tips.html#25 -- Heather

Muthukumar Kalimani wanted to install three operating systems on his box. I had helped my friend do the same and here are some hard found lessons.

- Use "fdisk" from your Linux distro CD to create partitions. Use the expert mode to partition the hard disk and use cylinder numbers for specifying partition sizes.
- Using fdisk create a 25Mb - 30 Mb partition which is below cylinder number 1024. This will be the partition in which you will install the /boot of Linux OS.

> [Mike] The Large Disk HOWTO http://www.tldp.org/HOWTO/Large-Disk-HOWTO.html claims this is mostly not a problem any more.

> (Paranoid people like myself continue to place `/boot` partitions and C: partitions below 1024.)

> [Rick] In theory, it went away in 1994.

> That was the year that motherboard manufacturers rolled out Yet Another BIOS Extension, providing a new method by which boot-time software could get extended BIOS routine 13h information to directly address logical cylinders numbered 1024 and above. A new version of LILO immediately came out, that requested and could process that BIOS information.

> So, in theory, the only people who need put `/boot` below the 1024th logical cylinder are

> 1. using really antique booting software (a very bad idea) or
> 2. contending with very old motherboard BIOSes, usually on 486es. I'm unclear on whether any early Pentium motherboards used the older-version int 13h call, or whether it's a 486-only issue.

> A lot of us old-timers retain the `/boot-filesystem-first` habit just from long usage, but also because people sometimes come in the door with antique BIOSes and fail to mention that fact. Better to put `/boot` near the outer tracks than risk spending considerable effort building a system and then find it unbootable.

> [Heather] Rick and I both do installfests; I especially help people with laptops, which have all sorts of oddball things in their BIOS. It's far easier to obey this rule of thumb than have to do things over on the limited time available at such install parties (usually only about 4 or 5 hours, but people arrive late, and would rather spend time learning the diffs between K and Gnome, set up their mailer, etc).

> I think it's important to note that `/boot` doesn't care about being first, only about early on the disk (if it cares at all). I usually give it partition 2; that satisfies some MSwin setups that want the first entry, and avoids the 4th entry, which some hibernation setups like to take. Make the third an extend partition, put a D: in there if you were planning a more even split on a large disk, a swap, and at least one more volume for `/` (though I refer you to past articles for The Gang's recommendations about partition layout beyond that).

> If you are really trying for maximum space "under the bar" assigned elsewhere instead ... it can be as small as 7 or 8 MB. I wouldn't go smaller for fear that monolithic kernels might get pretty big at some point. You always want room for three things: the bootloader parts themselves, a known good kernel, and whichever one you are recently trying out. If you're triple-or-more booting and more than one are Linux, you might want to lean the other direction and make room for lots of modules to go with them (symlink `/lib/modules` to `/boot/modules` in all distros and share the goodies).

If you want to know more about Partitioning using "fdisk" refer to:

> Linux Partition HOWTO
> by Tony Harris and Kristian Koehntopp
> (it is a mini HOWTO)
> in particular see section [5] [Partitioning with fdisk]
> http://www.tldp.org/HOWTO/mini/Partition/index.html

- install Win98 first and give it the first partition i.e. allow it to place itself in c:. If you do not do this Win98 usually corrupts whatever OS (even if it is from Win family) is placed on C:.

> [Heather] If you create the FAT filesystem for it ahead of time, MSwin's `SETUP.EXE` usually won't gratuitously fill the entire disk for you, which saves digging up a resizer later.

- When you install Linux remember to place the /boot on the partition you created for it.
- If you have trouble booting into your Linux after you have installed all three OSs, you need a Operating System loader. Use Google Search to find any of the following loaders
- XOSL -> Nice GUI
- Boot Part -> Light weight and CLI (non-GUI)

Hope you find this relevant.

> [Mike] Are you specifically excluding LILO and GRUB? Why?

I had written that the querent needs to install a loader _if he has trouble_ booting into GNU/Linux (using either GRUB/LILO). I had installed RH 7.1 with Win2k and I had trouble booting into GNU/Linux. RH 7.1 came with LILO version 21.4-4

Thankfully this problem was well documented in Linux+NT-Loader mini-HOWTO It had adviced to use Boot Part for solving this problem. I am still using Boot Part to boot into my GNU/Linux(RH 7.1) OS. I think newer versions of RH do not show this problem but I am not sure as I have only RH 7.1. (thinking of shifting to Debian).LILO does not need any special hacking to detect and boot up Win98.

One of my friends had discovered XOSL and even though he was a newbie, he had three OSs up and running in no time. (Win 98,WinXP,Linux and maybe Win2k too!)

> [Mike] GRUB is more user-friendly than LILO. I wish I could use it on my computer but the "linear" option doesn't work. I had to switch back to LILO because my computer won't work with the "lba32" setting.

Talking about loaders, three years back I experimented with Be OS.It was really cool and really sparing of machine resources. I had Win98 installed on my box. It installed quite easily on FAT filesystem and it placed an icon on my Win98 desktop. On clicking it, Be would boot up. And I think it did not take much time to startup. I removed it beacuse it did not come bundled with much apps. What I wanted to know do we have this sort of funky loader in GNU/Linux?

> [Heather] Yes. The canonical way to launch Linux froma running DOS or MSwin system is a program called `LOADLIN.EXE.` I understand there is a mildly different version of it for NT, and you should prepare a PIF for it that tells MSwin it's okay to give it all the resources it needs - go ahead and take over the CPU - then you'll have a happy one way trip to whatever kernel you told it to load. Oh yeah, and the linux kernel you use has to be visible in your DOS filesystem. I usually suggest to keep such parts in C:\LINUX so it's obvious.

I have not experimented with GRUB but LILO can be tough for a newbie (IMVVHO). Again I am talking about the older versions and I have no experience with newer versions.

> [Rick] A lot of people never learned the Zen of LILO:

> 1. /sbin/lilo (the "map installer") is best thought of as a compiler, and /etc/lilo.conf as its source code.
> 2. Therefore, if you change /etc/lilo.conf or any of the files it points to, you must run /sbin/lilo before rebooting, to "recompile".
> 3. You should always have a "safeboot" stanza in /etc/lilo, pointing to a known-good kernel image that you never fool with, as a fallback. This ensures that if, e.g., you compile a new kernel but accidentally omit console support, you can easily recover.

> GRUB is a capable and flexible bootloader, but practically all of the reasons commonly cited for it being preferable to LILO boil down to "I once messed with my boot files before reading LILO documentation, shot myself in the foot, and therefore blame LILO."

#####
Copyright © 2002
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 85 of Linux Gazette, December 2002

###### HTML script maintained by Heather Stern of Starshine Technical Services, http://www.starshine.org/

| Meet the Gang 1 2 3 4 |