[syslinux] Syslinux search for config file

Gert Hulselmans hulselmansgert at gmail.com
Wed Aug 29 09:20:29 PDT 2012


2012/8/29 Tomas M <tomas at slax.org>:
> On Wed, Aug 29, 2012 at 4:23 PM, Ady Ady <ady-sf at hotmail.com> wrote:
>>
>>
>>> From: tomas at slax.org
>>> Date: Wed, 29 Aug 2012 13:42:25 +0200
>>> To: syslinux at zytor.com
>>> Subject: [syslinux] Syslinux search for config file
>>>
>>> New idea proposal:
>>>
>>> Currently syslinux (and others) searches in for its config file, say
>>> syslinux.cfg, in a hardcoded list of directories.
>>>
>>> I propose that if the config file is not found, instead of producing
>>> an error message like "unable to locate config file", it should try to
>>> search in root directories and its subdirectories.
>>>
>>> There is -d option to install syslinux to any directory (if you
>>> remember, I sponsored it few years ago), but still the config file
>>> needs to be in /boot/syslinux/ for example. This way, the default
>>> behavior (backward compatibility) would be preserved, because it would
>>> still look to these hardcoded directories first, but if the config
>>> file is not found inthere, it would try all other directories and all
>>> other subdirectories (say, to recursion level 2).
>>>
>>> This way, people could install syslinux with -d /slax/boot/ and then
>>> syslinux would find its config file even in /slax/subdir/, without any
>>> additional patches (which I am currently forced to do).
>>>
>>> Is this idea acceptable?
>>>
>>> Should I try to code it and submit patches? Beware I am no C coder, I
>>> prefer to rather SPONSOR the work :) Name your price! :)
>>>
>>> Thank you for consideration
>>>
>>> Tomas M
>>> slax.org
>>
>> FWIW,
>>
>> If it can't be achieved for ALL supported fs, then it may make user's troubleshooting more complicated.
>>
>> At least talking about the same directory where ldlinux.sys was installed by means of the "-d" option in a FAT fs, your own request is already 5 years and 7 months old :). See:
>>  http://www.syslinux.org/archives/2007-January/007972.html .
>>
>> Now, I don't know about "some directory", but the same directory where ldlinux.sys (and/or where isolinux.bin) resides "sounds reasonable" from a user's points of view, as long as the additional cfg search-path doesn't make ldlinux.sys (and/or isolinux.bin) "too big" / "too complicated" / "too slow" AND if it is feasible for ALL fs, IMHO.
>>
>>
> Actually I do not even remember I already requested similar feature :)
> My old request was probably different, and obviously filename
> transformation (where files and directories are seen as 8-characters
> only) wouldn't be any problem here in the new approach, since we just
> go through the discovered directories, regardless of their names.
>
> If syslinux fails to locate its config file, it is actually
> UNBOOTABLE, in other works STUCK, simply said it's SCREWED :) If it
> searches even the entire drive for a file 'syslinux.cfg' or other
> filename, then it may 'recover' the situation. Backward compatibility
> is fully retained, and it doesn't matter if the directories it
> traverses are seen as 8-chars only.
>
> Is there a will to accept such behavior?
>
> The partial solution (to search for the config file in the directory
> where ldlinux.sys is installed) is perhaps sufficient, maybe today
> it's easier to do. However it is not universal solution at all, it
> will force ISOLINUX for example to have /boot/ directory as well,
> while I prefer if even isolinux can work without it.
>
> I'm ready to pay $500 for universal solution for this problem.
>
> Who's in charge here to decide? -hpa? Please comment :-)
>
> Thank you
>
> Tomas M
>
>

The auxilliary data vector (ADV) can eventually be used to store the
path to the config filename.
As far as I know, the ADV is now only used on filesystems which are on
writable storage (fat12/16/32, ext2/3/4 and brtfs) and not by ISOLINUX
and PXELINUX.

If support for ADV is added to ISOLINUX and PXELINUX, a ISOLINUX
and PXELINUX binary with the appropriate setting in the ADV can be
generated by a separate utility.

Or in case of ISOLINUX, support could eventually also be added by xorriso, so
the config value can be written in the ADV of isolinux.bin, when
creating the ISO file.

- Gert Hulselmans




More information about the Syslinux mailing list