Install the first OS, making sure to create a /boot, swap and / partition. Also create a separate /home partition if desired. Create the secondary boot OS partitions. For a typical install a partition size of about 1.2G should be adequate. Label them if needed. E.g.
SDA1 /boot (shared) SDA2 /swap (shared) SDA5 / SDA6 /Mandrake8.0
Do create a bootdisk if asked.
Boot into the newly installed OS and backup the /boot partition. The /boot/vmlinuz should be a symlink to the vmlinuz-kernel_version. If it is not, copy vmlinuz to vmlinuz-kernel_version. Do the same for System.map.
Shutdown and begin the installation for the next OS. Use the same boot partition and swap space. Choose the next available partition for your / filesystem. E.g.:
SDA1 /boot (shared) SDA2 /swap (shared) SDA5 /Mandrake7.2 SDA6 /Make sure that /boot is *not* re-formatted.
Install the new OS as normal. Boot into the new OS and make the following changes: Check the version of lilo. If the versions differ, synchronize them to the same version. (Not absolutely necessary, but makes changes easier). Edit the /etc/lilo.conf file to include both OS's:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=90
linear
default=Mandrake7.2
image=/boot/vmlinuz-2.2.17-21mdk
label=Mandrake7.2
read-only
root=/dev/sda5
append="mem=192M"
initrd=/boot/initrd-2.2.17-21mdk.img
image=/boot/vmlinuz-2.4.3-20mdk
label=Mandrake8.0
read-only
root=/dev/sda6
append="mem=192M"
If necessary, add initrd entries pointing to the /boot/initrd-KERNELVERSION.img files. This is needed for most SCSI devices. Delete the /boot/system.map link if it exists. You should have System.map.KERNELVERSION for each bootable OS. Run lilo. That's it --