[syslinux] Booting second label

Bjørn Damstedt Rasmussen bjra at terma.com
Wed Aug 14 01:06:53 PDT 2013

Hi Ady

I tried removing Syslinux TIMEOUT and typing 'wdt' but the 'linuxfoo' label is still not called. I have to enter it manually and it will start.

The "timeout=120" parameter is for the kontron_wdt.c32 watchdog. So the system will reset after 120 seconds if the watchdog hasn't been serviced.

We're rebuilding the syslinux source code since we're cross compiling. Is there some special parameter or macro which needs to be passed to the make command in order to build c32 modules properly?

-- Bjoern

-----Original Message-----
From: syslinux-bounces at zytor.com [mailto:syslinux-bounces at zytor.com] On Behalf Of Ady
Sent: 13. august 2013 16:54
To: Syslinux at zytor.com
Subject: Re: [syslinux] Booting second label

> Hi
> I'm using syslinux 5.01 and is installing our bootloader using 
> "extlinux --install /boot". In the extlinux.conf I've specified that 
> the kontron_wdt.c32 program should boot another label once it has been 
> executed but it never calls the second label.
> Here's my extlinux.conf:
> default wdt
> timeout 5
> prompt 1
> label linuxfoo
> kernel /vmlinuz
> append root=/dev/sda2 #.... more options
> label wdt
> com32 kontron_wdt.c32
> append timeout=120 default_label= linuxfoo
> When I try to debug the kontron_wdt.c32 I can see that
> syslinux_run_command(..) returns -1. What could cause this? 
> I've tried the ifcpu.c32 application as well (which is a bit similar 
> to kontron_wdt.c32) and it also cannot call syslinux_run_command().
> I can see that syslinux_run_command() call create_args_and_load() but 
> if I put any printf's there they're not printed to screen, so it's 
> pretty hard to debug what's causing the error.
> If someone knows a way to call two labels that would also work as a 
> workaround for the problem I'm trying to solve.
> -- Bjoern
Have you tried version 4.07? If it works with 4.06 or 4.07 but not with 5.xx, then we can narrow down the issue. Please remember to always use the c32 modules from the same version of the boot loader. 
For testing purposes, try using official binaries (not re-building).

I'd also suggest, just for testing purposes, changing the DEFAULT label and _not_ using the Syslinux TIMEOUT directive:
default linuxfoo
prompt 1

label linuxfoo
kernel /vmlinuz
append root=/dev/sda2 #.... more options

label wdt
com32 kontron_wdt.c32
append timeout=120 default_label=linuxfoo

So from the boot prompt type "wdt" and see what happens. If nothing happens (after the timeout after "wdt"), then type in "linuxfoo" in the boot prompt. Is it still failing?

Also note that I left no space character after "default_label=".

Syslinux mailing list
Submissions to Syslinux at zytor.com
Unsubscribe or set options at:
Please do not send private replies to mailing list traffic.

More information about the Syslinux mailing list