Ryan Wilson wrote:> I'm having a problem with extlinux booting to a Linux kernel image and
> initial ramdisk with a symbolic link.
>
> My /boot looks like this:
> extlinux.conf
> extlinux.sys
> initrd.img -> initrd.img-2.6.22.1
> initrd.img-2.6.22.1
> vmlinuz -> vmlinuz-2.6.22.1
> vmlinuz-2.6.22.1
>
> The relevant section of my extlinux.conf file is this:
> label 1
> kernel /boot/vmlinuz
> append initrd=/boot/initrd.img
>
> The error message i get is simply:
> Boot failed: please change disks and press a key to continue.
>
> If I change extlinux.conf to look at the kernel image directly (no
> symbolic link), everything boots correctly:
> label 1
> kernel /boot/vmlinuz-2.6.22.1
> append initrd=/boot/initrd.img-2.6.22.1
>
> I first tried this with syslinux 3.36 (installed by my distro) and
> then I compiled 3.51 from the source. Both appeared to have the same
> behavior.
>
> Could I be doing something wrong? I read the documentation about
> symbolic link support and I think I created my symlinks correctly
> (relative paths). Is there something else I should try?
>
Hm... that sounds like a very bad thing. Is your /boot a separate
partition? If so, would you be willing to dd it up and send me a copy?
If not, could you try to reproduce this on a small partition, say on a
USB stick?
The "boot failed" message means extlinux has gone off the rails and is
trying to access disk that doesn't exist. Symbolic links obviously
shouldn't do that, so I suspect that you might have exposed a serious
bug. I would greatly appreciate your assistance in tracking it down.
-hpa