(!) Triple booting

From Raj Shekhar

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

In response to LG 84, Tips 25: http://linuxgazette.net/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.

(!) [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]
(!) [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.


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.net/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/

[ Table Of Contents ][ Answer Guy Current Index ] greetings   Meet the Gang   1   2   3   4 [ Index of Past Answers ]