LILO the loader knows where on the disk the kernel is, it has the track
and sector for it. It doesnt' know about pathways and partitions.
It gets that information when lilo is run when you are running linux (yes
it's confusing, two things with the same name, since that's basically an
installer, while the lilo installed on the hard drive is the loader.
In order to get that informatin, lilo, the installer, has to be able to
see the kernel you want to boot when lilo the installer is run. It can't
interpret things like /dev/sda2/boot/vmlinuz. It has to be able to see
the kernel and then turn that path into the track and sector for the
"hardcoding" into the lilo loader.
So the secondary kernel has to be mounted somewhere before you run lilo
the installer, and you have to tell lilo the installer where that
secondary kernel is by editing lilo.conf
It doesn't matter where you mount the secondary kernel (or rather where
you mount the partition where the secondary kernel resides), it's not for
any use except for lilo the installer to find where it is on the hard
disk.
So you can mount it in /mnt or really anywhwere, so long as something else
isn't already using that mount point. So if you aren't using /mnt/hd,
then mount it there.
Then you edit lilo.conf to point to /mnt/hd/boot/vmlinuz and then run
lilo the installer. It should be fine. The path in lilo.conf is only
there for the moment lilo the installer is run, once everything is fine
you can and likely should umount the partition mounted at /mnt/hd
I'm not sure I've explained it, but here's another way of looking at it.
For a while, I put /boot in a separate partition, and actually put
multiple kernels there (just making sure they had distinctive names). The
only time I needed to mount that /boot partition was when I was running
lilo the loader, since it had to see the kernel and figure out it's track
and sector on the hard drive. The rest of the time, I never mounted
/boot. When I booted linux, lilo the loader knew where the kernel was, so
the partition it was in never had to be mounted.
Another way of looking at it is until you mount the partition with the
sceondary kernel, lilo will not be able to see it.
Michael