I have an idea what the problem might be, but I am not totally sure I have it all figured out. (The worst that could happen is one more failed boot, right?)
I think the problem has to do with the difference between the way LILO and GRUB work. GRUB, as I understand it, basically interprets a configuration file at boot time. LILO, in effect, "compiles" the info from lilo.conf and stores absolute disk locations of the relevant items. So the interpretation of most or all of the paths in lilo.conf is in terms of the system running when you run
lilo. I.e. in your case, when slackware is running.
So I think when you try to boot Suse, even though you tell it to use /dev/hda3 as /root, you are still telling it to use the kernel and initrd from your slackware install.
So after booting slackware from your floppy, I think you need to mount /dev/hda3 somewhere, for example, at /mnt/hda3. And then change ...
Code:
image = /boot/vmlinuz
root = /dev/hda3
label = Suse
initrd = /boot/initrd
to
Code:
image = /mnt/hda3/boot/vmlinuz
root = /dev/hda3
label = Suse
initrd = /mnt/hda3/boot/initrd
and then run
lilo.
I have experimented with something like this on one of my systems, but w/o an initrd. It seems to work like I think it should, except the boot command line reported in the log is a little crazy with regard to the path of the kernel image.