[syslinux] Upgraded to Syslinux 5.00 - Failed to load ldlinux.c32

H. Peter Anvin hpa at zytor.com
Wed Jan 9 13:31:27 PST 2013


On 01/09/2013 01:00 PM, Matt Fleming wrote:
> On Wed, 2013-01-02 at 15:39 +0000, Matt Fleming wrote:
>> On Thu, 2012-12-20 at 20:53 -0800, H. Peter Anvin wrote:
>>> On 12/19/2012 04:44 AM, Paulo Alcantara wrote:
>>>>
>>>> The ldlinux.c32 could be installed in any path, however Syslinux won't
>>>> be able to find it in paths other than those in search_directories
>>>> array.
>>>>
>>>
>>> The real issue is that the install directory should be automatically 
>>> added to the array... not sure why that isn't happening.
>>
>> Me neither. I was pretty certain that this worked because CurrentDirName
>> should be set to the installation directory on boot.
>>
>> I'll take a look at this.
> 
> Interestingly, this feature was broken with the following commit,
> 
> commit a126f17f663c438ef264a459fa130951dbac780d
> Author: Paulo Alcantara <pcacjr at zytor.com>
> Date:   Fri Jun 8 16:20:15 2012 -0300
> 
>     EXTLINUX: Initial XFS filesystem support
>     
> .. because of this...
> 
> +
> +    sscanf(filename, "%s%cldlinux.sys", path, &slash);
> +
> +    /* Map the file, and patch the initial sector accordingly */
> +    modbytes = patch_file_and_bootblock(fd, path, devfd);
> 
> that sscanf() doesn't work, 'path' contains the *full* path, not the
> installation subdir. I fixed it with the patch below. Does it look OK?
> 

Yes, sscanf() really doesn't work that way...

	-hpa



More information about the Syslinux mailing list