[syslinux] Upgraded to Syslinux 5.00 - Failed to load ldlinux.c32
Paulo Alcantara
pcacjr at zytor.com
Wed Dec 19 04:44:49 PST 2012
Ady <ady-sf at hotmail.com> writes:
> Since the error message is about ldlinux.c32 not being found, this
> should indicate that ldlinux.sys is found correctly. Thus, the
> problem seems to be related to the paths where ldlinux.sys expects to
> find ldlinux.c32.
OK, we're about talking about Syslinux 5.00x. I looked at the wrong
source file in the first place -- the correct one is actually
core/elflink/load_env32.c.
The only possible paths (hard-coded in search_directories string array)
that ldlinux.c32 could be found are "/boot/isolinux", "/isolinux",
"/boot/syslinux", "/syslinux" and "/".
> Also, could you check whether ldlinux.c32 was effectively indeed
> installed in both raid disks? I wonder if the installer is the one
> not installing ldlinux.c32 correctly in a raid system.
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.
If either Peter or Matt feels that "/boot/extlinux" should be supported,
here goes a patch that adds such support:
>From 9deac7ffb9ea0fbd07e9faefa4004383db1048e8 Mon Sep 17 00:00:00 2001
From: Paulo Alcantara <pcacjr at profusion.mobi>
Date: Wed, 19 Dec 2012 10:42:16 -0200
Subject: [PATCH] core: Add "/boot/extlinux" path support
Add "/boot/extlinux" path to be looked up when finding ldlinux.c32 and
Syslinux config files.
Signed-off-by: Paulo Alcantara <pcacjr at profusion.mobi>
---
core/elflink/load_env32.c | 1 +
core/fs/lib/loadconfig.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/core/elflink/load_env32.c b/core/elflink/load_env32.c
index 7c0afac..6dc5c89 100644
--- a/core/elflink/load_env32.c
+++ b/core/elflink/load_env32.c
@@ -112,6 +112,7 @@ void load_env32(com32sys_t * regs __unused)
"/boot/isolinux",
"/isolinux",
"/boot/syslinux",
+ "/boot/extlinux",
"/syslinux",
"/",
NULL
diff --git a/core/fs/lib/loadconfig.c b/core/fs/lib/loadconfig.c
index 95e6f3f..60e4cad 100644
--- a/core/fs/lib/loadconfig.c
+++ b/core/fs/lib/loadconfig.c
@@ -16,6 +16,7 @@ int generic_open_config(struct com32_filedata *filedata)
static const char *search_directories[] = {
NULL, /* CurrentDirName */
"/boot/syslinux",
+ "/boot/extlinux",
"/syslinux",
"/",
NULL
--
1.8.0.2
--
Paulo Alcantara, ProFUSION Embedded Systems
More information about the Syslinux
mailing list