My understanding is this: lilo can load another OS in one of two ways
1. if it is Linux, it can load it directly as it does with slackware
2. if it is any other OS on a partition which is bootable and has a bootloader installed to its boot-block, lilo can ``chain-load'', i.e. pass control to the other OS's own bootloader
For 1. to work, as well as supplying the root partition, you need to know at least
a. the path of the linux image that needs to be loaded and
b. if it needs an initrd and if so, its path.
This may or may not be easy to find out/guess.
Nothing further is required for 2. however and this is how I handle such things when a. and b. above are not clear.
For example, I installed doudoulinux (a kids distro based on debian) on an old machine which already had slackware on it. I wanted to keep the original slackware lilo as the controlling bootloader (so e.g. I'm always greeted by the slackware-lilo boot screen!). So during the doudoulinux install (the debian graphical installer) when it came to installing grub (as debian does) there were three choices:
1. install to /dev/sda (the MBR of the disk) -- this would have obliterated by old lilo which I didn't want to do
2. install to /dev/sda3 (the root partition of doudoulinx). This, along with marking the partition as bootable, meant I
could chain-load from my slackware lilo to the doudoulinux grub. Then all I had to do was edit slackware's /etc/lilo.config
and add the lines
Code:
other=/dev/sda3
label=doudoulinux
and then run lilo again. This is what I did and to me was the most hassle-free -- but it might violate tb75252's desire for a lilo-only solution
3. do nothing -- I could have done this and followed rkfb's abvice above, but I would have to work out the path of the
linux kernel image (and initrd if necessary) to load. In that case I would have had to
i. mounted the other OS's root partition from inside slackware and
ii. gone to /boot there where the only linux image was vmlinuz-2.6.32-5-686 and there was also initrd-img-2.6.32-5-686.
Then I would have needed to add
Code:
image = /boot/vmlinuz-2.6.32-5-686
root = /dev/sda3
initrd = /boot/initrd-img-2.6.32-5-686
label= doudoulinux
read-only
to /etc/lilo.conf, and then run lilo again. Now I didn't follow option 3., I might have something wrong there but in my example I would have been lucky since there was only one linux image and one initrd. To be sure I would have let it still install grub and then peeked in the config file to see how it booted, and then replicated this config in my slackware's /etc/lilo.conf.
So it might be worth it to let it *temporarily* install grub/whatever (preferably in the boot-block of the other OS's partition) just to see the config details, then go back and use lilo for everything once you've got that sorted out.
Hope this helps,
Michael
PS I don't know how smart lilo is at ``finding'' other OS's e.g. when running liloconfig. I know it
can find it if you follow 2. above i.e. if another partition is already bootable. This is what usually happens with Windows I guess.