public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] pxe incompatibility with x86
@ 2013-10-15 10:08 Ian Campbell
  2013-10-15 20:39 ` rob.herring at calxeda.com
  0 siblings, 1 reply; 3+ messages in thread
From: Ian Campbell @ 2013-10-15 10:08 UTC (permalink / raw)
  To: u-boot

Hi,

I've noticed what appears to be an incompatibility between u-boot's pxe
support and the x86 pxelinux stuff. I'm running on a Calxeda midway but
AFAICT this not specific to the platform. It seems that Rob and Jason
are both involved in u-boot pxe support as well as being from Calxeda so
I guess I don't have to be too sure either way ;-)

syslinux/README says:
        Note that all filename references are relative to the directory
        pxelinux.0 lives in.
        
And u-boots emulation of pxelinux's behaviour seems to implement
this for loading pxelinux.cfg but not for loading any files referenced
by the config. This seems to have been related to
https://bugs.launchpad.net/ubuntu/+source/u-boot-linaro/+bug/927781

The Xen.org osstest infrastructure has in dhcpd.conf:
        filename "pxe/syslinux.0"
and runs a tftp server exporting /tftpboot with all the files
in /tftpboot/pxe.

This leads to:
        TFTP from server 10.80.248.135; our IP address is 10.80.229.106; sending through
         gateway 10.80.224.1
        Filename 'pxe/syslinux.0'.
        Load address: 0x800000
        Loading: ## 
        done
        Bytes transferred = 26793 (68a9 hex)
        [...]
        TFTP from server 10.80.248.135; our IP address is 10.80.229.106; sending through
         gateway 10.80.224.1
        Filename 'pxe/pxelinux.cfg/01-fc-2f-40-11-72-5c'.
        Load address: 0x700000
        Loading: #  
        done
        Bytes transferred = 513 (201 hex)
        Config file found
However the config file contains:
        serial 0 115200
        timeout 5
        label overwrite
                menu label ^Overwrite
                menu default
                kernel /ianc/osstest/debian-installer/armhf/2013-09-23-wheezy/linux.armmp [...]
                append [...] initrd=/ianc/osstest/tmp/marilith-n4--initrd.gz [...]
leading to:
        Retrieving file: /ianc/osstest/tmp/marilith-n4--initrd.gz
        Using xgmac0 device
        TFTP from server 10.80.248.135; our IP address is 10.80.229.106; sending through gateway 10.80.224.1
        Filename '/ianc/osstest/tmp/marilith-n4--initrd.gz'.
        Load address: 0x4000000
        Loading: *  
        TFTP error: 'File not found' (1)

The actual path to the initrd is /tftpboot/pxe/ianc/osstest/... IOW
the /pxe prefix has been dropped.

I think this differs from how real pxelinux on x86 behaves, at least
judging from the osstest setup...

Cheers,
Ian.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] pxe incompatibility with x86
  2013-10-15 10:08 [U-Boot] pxe incompatibility with x86 Ian Campbell
@ 2013-10-15 20:39 ` rob.herring at calxeda.com
  2013-10-15 21:03   ` Ian Campbell
  0 siblings, 1 reply; 3+ messages in thread
From: rob.herring at calxeda.com @ 2013-10-15 20:39 UTC (permalink / raw)
  To: u-boot



On Tuesday, October 15, 2013 5:08am, "Ian Campbell" <Ian.Campbell@citrix.com> said:

> Hi,
> 
> I've noticed what appears to be an incompatibility between u-boot's pxe
> support and the x86 pxelinux stuff. I'm running on a Calxeda midway but
> AFAICT this not specific to the platform. It seems that Rob and Jason
> are both involved in u-boot pxe support as well as being from Calxeda so
> I guess I don't have to be too sure either way ;-)
> 
> syslinux/README says:
>         Note that all filename references are relative to the directory
>         pxelinux.0 lives in.
> 
> And u-boots emulation of pxelinux's behaviour seems to implement
> this for loading pxelinux.cfg but not for loading any files referenced
> by the config. This seems to have been related to
> https://bugs.launchpad.net/ubuntu/+source/u-boot-linaro/+bug/927781
> 
> The Xen.org osstest infrastructure has in dhcpd.conf:
>         filename "pxe/syslinux.0"
> and runs a tftp server exporting /tftpboot with all the files
> in /tftpboot/pxe.
> 
> This leads to:
>         TFTP from server 10.80.248.135; our IP address is 10.80.229.106; sending
> through
>          gateway 10.80.224.1
>         Filename 'pxe/syslinux.0'.
>         Load address: 0x800000
>         Loading: ##
>         done
>         Bytes transferred = 26793 (68a9 hex)
>         [...]
>         TFTP from server 10.80.248.135; our IP address is 10.80.229.106; sending
> through
>          gateway 10.80.224.1
>         Filename 'pxe/pxelinux.cfg/01-fc-2f-40-11-72-5c'.
>         Load address: 0x700000
>         Loading: #
>         done
>         Bytes transferred = 513 (201 hex)
>         Config file found
> However the config file contains:
>         serial 0 115200
>         timeout 5
>         label overwrite
>                 menu label ^Overwrite
>                 menu default
>                 kernel
> /ianc/osstest/debian-installer/armhf/2013-09-23-wheezy/linux.armmp
> [...]
>                 append [...] initrd=/ianc/osstest/tmp/marilith-n4--initrd.gz
> [...]
> leading to:
>         Retrieving file: /ianc/osstest/tmp/marilith-n4--initrd.gz
>         Using xgmac0 device
>         TFTP from server 10.80.248.135; our IP address is 10.80.229.106; sending
> through gateway 10.80.224.1
>         Filename '/ianc/osstest/tmp/marilith-n4--initrd.gz'.
>         Load address: 0x4000000
>         Loading: *
>         TFTP error: 'File not found' (1)
> 
> The actual path to the initrd is /tftpboot/pxe/ianc/osstest/... IOW
> the /pxe prefix has been dropped.
> 
> I think this differs from how real pxelinux on x86 behaves, at least
> judging from the osstest setup...

Thanks for the heads up.

Could this be a tftp server setup issue? Should the server prepend "/whatever" with it's root? If not then I guess u-boot needs to strip any leading /.

Rob

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] pxe incompatibility with x86
  2013-10-15 20:39 ` rob.herring at calxeda.com
@ 2013-10-15 21:03   ` Ian Campbell
  0 siblings, 0 replies; 3+ messages in thread
From: Ian Campbell @ 2013-10-15 21:03 UTC (permalink / raw)
  To: u-boot

On Tue, 2013-10-15 at 15:39 -0500, rob.herring at calxeda.com wrote:
> Could this be a tftp server setup issue?

The exact same server and pxelinux.cfg setup works for x86 machines
using proper pxelinux.

> Should the server prepend "/whatever" with it's root?

I don't think so.

>  If not then I guess u-boot needs to strip any leading /.

Actually I think it needs to prepend /whatever to all the paths it
reads, not just the pxelinux.cfg ones.

IOW /ianc/osstest/tmp/marilith-n4--initrd.gz needs to
become /pxe/ianc/osstest/tmp/marilith-n4--initrd.gz when the DHCP
supplied filename was /pxe/pxelinux.0 because that implicitly sets the
prefix to /pxe.

Ian.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-15 21:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-15 10:08 [U-Boot] pxe incompatibility with x86 Ian Campbell
2013-10-15 20:39 ` rob.herring at calxeda.com
2013-10-15 21:03   ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox