[syslinux] Syslinux 5 (i)pxelinux.0 unnecessary PATH requests

Shao Miller sha0.miller at gmail.com
Wed Dec 12 09:16:46 PST 2012


On 12/12/2012 11:35, Thomas Bächler wrote:
> Am 12.12.2012 16:43, schrieb Shao Miller:
>> On 12/12/2012 07:54, Thomas Bächler wrote:
>>> Am 11.12.2012 19:50, schrieb Shao Miller:
>>>> Are you using DHCP option 210?  It is documented in doc/pxelinux.txt and
>>>> is related to where PXELINUX goes looking for things.  Yes, PATH cannot
>>>> be processed until ldlinux.c32 is fetched, but option 210 is processed
>>>> before.  - Shao
>>>
>>> As Arends also pointed out, this is not very helpful.
>>>
>>> I have setups where I set 210 to the root, and set filename to
>>> /path/to/pxelinux.0. A better alternative would be to look in the
>>> dirname of the boot filename first.
>>
>> That is exactly what doc/pxelinux.txt documents that PXELINUX does
>> _without_ option 210.  You are _overriding_ "the dirname of the boot
>> filename" by using 210.  - Shao
>
> By using 210, I am setting the root path of _everything_, i.e., what '/'
> refers to. I cannot use .. or / to escape this path.

I don't follow.  210 sets the initial current working directory.  It 
doesn't do anything like a chroot.  For example, at the "boot:" prompt:

   config.c32 http://webserver/path/to/configfile 
http://webserver/new/curdir

Then configfile will be loaded and /new/curdir on the web-server will be 
the current working directory.

> If syslinux looks
> for its .c32 in this directory, then I have to put all .c32 files at the
> root.
>
> By using the DHCP filename option, I search for pxelinux.0 in a
> subdirectory. What I would suspect to happen (and what happened until
> now??) is that syslinux looks for its external files in the same directory:
>
> 210 = /some/dir
> filename = /other/dir/pxelinux.0
>
> -> ldlinux.c32 = /some/dir/other/dir/ldlinux.c32
>
> Does that make any sense?

The initial current working directory is, by default, whatever path 
leads up to pxelinux.0 in the DHCP filename option.  If you use option 
210, you override that with a different initial current working 
directory.  The two are not accumulated together for path-searching, 
since there's only one current working directory.

- Shao Miller



More information about the Syslinux mailing list