It would be easier to do that if you had a common /boot partition. However, you could alter your menu.lst file for the other distro's so that they use the same kernel and initrd file.
Change the entries from something like this:
Code:
title openSUSE 10.2 - 2.6.18.8-0.5
root (hd0,4)
kernel /boot/vmlinuz-2.6.18.8-0.5-default root=/dev/hda5 vga=791 nolapic resume=/dev/hda2 splash=silent showopts elevator=
initrd /boot/initrd-2.6.18.8-0.5-default
To something like this:
Code:
title openSUSE 10.2 - 2.6.18.8-0.5
root (hd0,4)
kernel (hd0,2)/boot/vmlinuz-2.6.18.8-0.5-default root=/dev/hda5 vga=791 nolapic resume=/dev/hda2 splash=silent showopts elevator=
initrd (hd0,2)/boot/initrd-2.6.18.8-0.5-default
That way, the kernel will be loaded from the partition on /dev/hda3 even though the root directory is on /dev/hda5 (in this hypothetical example). If the boot directory is mounted on its own partition, then the entries would look more like:
Code:
title openSUSE 10.2 - 2.6.18.8-0.5
root (hd0,4)
kernel (hd0,2)/vmlinuz-2.6.18.8-0.5-default root=/dev/hda5 vga=791 nolapic resume=/dev/hda2 splash=silent showopts elevator=
initrd (hd0,4)/initrd-2.6.18.8-0.5-default
Also, only run grub-config when using the same distro. That way you don't keep changing the MBR and using a different menu.lst file. You can cut & paste the menu.lst sections you need from the other disto's to the /boot/grub/menu.lst file that you use, and then edit the kernel & initrd entries.