[syslinux] 5.01 problems with gpxelinux.0 (file paths related TFTP and HTTP)

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Wed Feb 13 12:39:49 PST 2013


On 02/13/2013 02:30 PM, Gerardo Exequiel Pozzi wrote:
> On 02/13/2013 09:51 AM, Matt Fleming wrote:
>> On Thu, 2013-02-07 at 20:49 -0300, Gerardo Exequiel Pozzi wrote:
>>> On 02/07/2013 04:01 PM, Matt Fleming wrote:
>>>> On Thu, 2013-02-07 at 12:21 +0000, Matt Fleming wrote:
>>>>> Looks like the 209 DHCP option isn't working properly - the path used to
>>>>> lookup archiso.cfg is garbled.
>>>>>
>>>>> Thanks for the report, I'll look into it.
>>>>
>>>> OK, I see what's going on here. This stems from the PATH directive
>>>> changes that I've been making recently.
>>>>
>>>> PXELINUX changes directory to the Prefix Path (option 210) before
>>>> executing ldlinux.c32. If we don't find ldlinux.c32 in that path we'll
>>>> search a list of predefined directories for it, and when we find it we
>>>> chdir() to the directory we find it in. When we come to load the config
>>>> file we've moved out of the prefix path and so fail to load your
>>>> archiso.cfg.
>>>>
>>>> I've committed a fix for this and done a new release,
>>>> syslinux-5.02-pre1. Can you test it out and see if your issue is
>>>> resolved?
>>>>
>>>
>>> OK I made two test, one with TFTP only, and other with HTTP only. Both
>>> still fails.
>>>
>>> Here is log details:
>>
>> [...]
>>
>> Thanks for testing. Could you try the new 5.02-pre2 release?
>>
>> Out of curiosity, how do you specify DHCP options for qemu-kvm?
>>
> 
> You are welcome :)
> 
> Tested but still does not work, here is the log for TFTP:
> 
> dnsmasq-tftp: sent /run/archiso/bootmnt/arch/boot/syslinux/gpxelinux.0
> to 192.168.0.90
> dnsmasq-tftp: file /run/archiso/bootmnt/arch/ldlinux.c32 not found
> dnsmasq-tftp: file /run/archiso/bootmnt/arch//ldlinux.c32 not found
> dnsmasq-tftp: file /run/archiso/bootmnt/arch//boot/isolinux/ldlinux.c32
> not found
> dnsmasq-tftp: file /run/archiso/bootmnt/arch//isolinux/ldlinux.c32 not found
> dnsmasq-tftp: file /run/archiso/bootmnt/arch//boot/syslinuxldlinux.c32
> not found
> dnsmasq-tftp: file /run/archiso/bootmnt/arch//boot/syslinuxldlinux.c32
> not found
> dnsmasq-tftp: sent /run/archiso/bootmnt/arch//boot/syslinux/ldlinux.c32
> to 192.168.0.90
> dnsmasq-tftp: error 0 No error, file close received from 192.168.0.90
> dnsmasq-tftp: failed sending
> /run/archiso/bootmnt/arch//boot/syslinux/ldlinux.c32 to 192.168.0.90
> dnsmasq-tftp: file
> /run/archiso/bootmnt/arch//boot/syslinuxboot/syslinux/archiso.cfg not found
> 
> 
> and for HTTP:
> 
> 1360776100 192.168.0.90 "GET /arch/boot/syslinux/gpxelinux.0" 200 102296
> "" "iPXE/1.0.0+"
> 1360776101 192.168.0.90 "GET /arch/ldlinux.c32" 404 383 "" "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET /arch//ldlinux.c32" 404 384 "" "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET /arch//boot/isolinux/ldlinux.c32" 404 398
> "" "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET /arch//isolinux/ldlinux.c32" 404 393 ""
> "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET /arch//boot/syslinuxldlinux.c32" 404 397 ""
> "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET /arch//boot/syslinux/ldlinux.c32" 200
> 114570 "" "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET /arch//boot/syslinuxhttp/ldlinux.c32" 404
> 402 "" "gPXE/1.0.0"
> 1360776101 192.168.0.90 "GET
> /arch//boot/syslinux//192.168.0.218/arch//boot/syslinux/ldlinux.c32" 404
> 433 "" "gPXE/1.0.0"
> 
> 
> Looks like paths are incorrectly concatenated.
> 
> ---
> 
> There are no special options for qemu, I am just using dnsmasq as TFTP
> and DHCP server, and darkhttpd as HTTP server.
> 
> As said before:
> # dnsmasq --port=0 \
>           --enable-tftp \
>           --no-daemon \
>           --tftp-root=/run/archiso/bootmnt \
>           --dhcp-range=192.168.0.2,192.168.0.254,86400 \
>           --dhcp-boot=/arch/boot/syslinux/gpxelinux.0 \
>           --dhcp-option-force=209,boot/syslinux/archiso.cfg \
>           --dhcp-option-force=210,/arch/
> 
> 
> # dnsmasq --port=0 \
>           --dhcp-range=192.168.0.2,192.168.0.254,86400 \
>           --dhcp-boot=http://192.168.0.218/arch/boot/syslinux/gpxelinux.0 \
>           --dhcp-option-force=209,boot/syslinux/archiso.cfg \
>           --dhcp-option-force=210,http://192.168.0.218/arch/
> # darkhttpd /run/archiso/bootmnt
> 
> 
> Remember that this works perfectly with 4.06 (all retrived paths looks
> good, without errors).
> 
> Thanks for the feedback.
> 
> 
> 
> 
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> Please do not send private replies to mailing list traffic.
> 

Here is the "arch" directory with only syslinux related files:

http://dl.dropbox.com/u/88891866/arch.tar.gz

If you want to experiment.

-- 
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 555 bytes
Desc: OpenPGP digital signature
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20130213/051ada33/attachment.sig>


More information about the Syslinux mailing list