[syslinux] Syslinux 5 (i)pxelinux.0 unnecessary PATH requests
Shao Miller
sha0.miller at gmail.com
Wed Dec 12 09:42:27 PST 2012
On 12/12/2012 12:16, Shao Miller wrote:
> 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.
>
Or to address your ".." concern:
config.c32 ../../path/to/configfile ../../new/curdir/
works.
I think part of the confusion is because of URIs involving HTTP. It is
a case where using a non-URI absolute path yields a different result
than using a URI absolute path. For example, if the current working
directory is:
http://webserver/my/path/
then the absolute filename:
/test
results in:
http://webserver/my/path//test
instead of what you might expect:
http://webserver/test
In this way, even absolute paths are still relative to the current
working directory, if the CWD is a URI and the absolute path is not.
If the CWD was:
http://webserver/some.cgi?dyn_gen_file=
then you might see that:
http://webserver/some.cgi?dyn_gen_file=/test
could be handy, even if a bit odd.
However there is nothing to prevent you from changing the current
working directory to:
http://webserver/
if that's what you want, when you're ready to do it.
- Shao Miller
More information about the Syslinux
mailing list