Mailing List Archive

extlinux & symbolic links
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?

Thanks,
Ryan

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: extlinux & symbolic links [ In reply to ]
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

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: extlinux & symbolic links [ In reply to ]
On 7/24/07, H. Peter Anvin <hpa@zytor.com> wrote:
<snip>
>
> 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
>

Right now, /boot is not on a separate partition. What do you mean by
reproducing it on a small partition? Did you mean to just put the
contents of /boot on a USB stick by itself and see if extlinux would
boot it? I'll try separating /boot onto its own partition and see what
happens.

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: extlinux & symbolic links [ In reply to ]
Ryan Wilson wrote:
> On 7/24/07, H. Peter Anvin <hpa@zytor.com> wrote:
> <snip>
>>
>> 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
>>
>
> Right now, /boot is not on a separate partition. What do you mean by
> reproducing it on a small partition? Did you mean to just put the
> contents of /boot on a USB stick by itself and see if extlinux would
> boot it? I'll try separating /boot onto its own partition and see what
> happens.

Yes, that's what I mean. Obviously you also need to run extlinux on the
USB stick.

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: extlinux & symbolic links [ In reply to ]
On 7/24/07, H. Peter Anvin <hpa@zytor.com> wrote:
<snip>
> >
> > Right now, /boot is not on a separate partition. What do you mean by
> > reproducing it on a small partition? Did you mean to just put the
> > contents of /boot on a USB stick by itself and see if extlinux would
> > boot it? I'll try separating /boot onto its own partition and see what
> > happens.
>
> Yes, that's what I mean. Obviously you also need to run extlinux on the
> USB stick.
>
> -hpa
>

So I gave it a try and now, when trying to boot via my symlinks in
QEMU, it says:
Could not find kernel image: /boot/vmlinuz

and then returns me to the prompt.

Although now I seem to have another problem. When I try to boot
without the symlinks in this configuration, it shows that it is
loading the kernel and initrd, but hangs after displaying the row of
dots.

So I tried my USB key on real hardware. When I boot on real hardware,
booting with symlinks appears to just hang (I entered my boot option
and extlinux just sat there). Booting without symlinks on real
hardware worked just fine (kernel and initrd booted properly).

Ryan

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.