Hi, I have the same problem as Helmut with INCLUDE keyword and extlinux 5.10 an later. The following configuration has been tested and worked with extlinux 4.05, 4.06, 5.01 Contents of "boot_label" file DEFAULT 1 --------------------------------------- Contents of "extlinux.conf" file # Enable menu.c32 UI menu.c32 # Disable the boot: prompt PROMPT 0 # 5 sec TIMEOUT 50 # 60 sec max TOTALTIMEOUT 600 # Default boot label INCLUDE boot_label MENU TITLE Boot Menu LABEL 1 MENU LABEL System 1 LINUX /bzImage_1 APPEND console=ttyS0,115200 LABEL 2 MENU LABEL System 2 LINUX /bzImage_2 APPEND quiet console=ttyS0,115200 LABEL pxe MENU LABEL BOOT PXE LOCALBOOT -1 --------------------------------------- Since extlinux 5.10 I get: "Initial menu has no LABEL entries!" Thanks to Helmut report, the problem is fixed with: INCLUDE "boot_label" Do you have any idea what could be the problem ? Regards, Romain ----- Mail original ----- | De: "Helmut Hullen" <Hullen at t-online.de> | ?: syslinux at zytor.com | Envoy?: Mercredi 26 Juin 2013 19:05:00 | Objet: Re: [syslinux] Syslinux 6.00 released | | Hallo, | | I wrote am 26.06.13: | | >> Running "pxelinux": more problems than with 5.10. | | >> 5.00-pre6: all worked fine | | >> 5.10: the start menu (GUI) wasn't shown; "tab" showed the labels, | >> and the textual menus. Invoking the labels worked. | | >> 6.00: no GUI start menu. "tab" showed the textual menus. Invoking | >> them seems to do nothing (after some seconds). | | >> (Please excuse my gerlish) | | >> ----------- /tftpboot/pxelinux.cfg/default ------------ | | >> include colors.txt | | > And there's the problem! | | And another strange behaviour: | | include "colors.txt" | | works (or breaks) in another way than | | include colors.txt | | Viele Gruesse! | Helmut | _______________________________________________ | Syslinux mailing list | Submissions to Syslinux at zytor.com | Unsubscribe or set options at: | http://www.zytor.com/mailman/listinfo/syslinux | Please do not send private replies to mailing list traffic. | |
On Thu, 27 Jun, at 10:46:24AM, Romain Naour wrote:> Hi, > > I have the same problem as Helmut with INCLUDE keyword and extlinux 5.10 an later. > The following configuration has been tested and worked with extlinux 4.05, 4.06, 5.01 > > Contents of "boot_label" file > DEFAULT 1[...]> Thanks to Helmut report, the problem is fixed with: > INCLUDE "boot_label"If you change the contents of boot_label to "DEFAULT 2" does it boot the LABEL 2 on timeout? My tests show that it doesn't. The only thing that changing, include foo to include "foo" does is cause the the parser to fail to open the file. In other words, the behaviour will be the same whether you delete the include directive or wrap the filename in double-quotes. I do think I see what the problem is though. Essentially, the config parser completely reinitialises itself when parsing the include directive, instead of cumulatively adding the contents. I'll bisect to see why this broke after 5.01. -- Matt Fleming, Intel Open Source Technology Center
Hi, ----- Mail original ----- | De: "Matt Fleming" <matt at console-pimps.org> | ?: "Romain Naour" <romain.naour at openwide.fr> | Cc: helmut at hullen.de, "For discussion of Syslinux and tftp-hpa" <syslinux at zytor.com> | Envoy?: Jeudi 27 Juin 2013 12:45:28 | Objet: Re: [syslinux] Syslinux 6.00 released | | On Thu, 27 Jun, at 10:46:24AM, Romain Naour wrote: | > Hi, | > | > I have the same problem as Helmut with INCLUDE keyword and extlinux | > 5.10 an later. | > The following configuration has been tested and worked with | > extlinux 4.05, 4.06, 5.01 | > | > Contents of "boot_label" file | > DEFAULT 1 | | [...] | | > Thanks to Helmut report, the problem is fixed with: | > INCLUDE "boot_label" | | If you change the contents of boot_label to "DEFAULT 2" does it boot | the | LABEL 2 on timeout? My tests show that it doesn't. You are right, it does not work anymore with 5.10 (due to this bug ?) I tested it on 5.01 and 4.06. | | The only thing that changing, | | include foo | | to | | include "foo" | | does is cause the the parser to fail to open the file. In other | words, | the behaviour will be the same whether you delete the include | directive | or wrap the filename in double-quotes. In the fist case, the graphical menu is not launched and I have prompt boot with error "Initial menu has no LABEL entries!" In the second case, I have no error (or I can't see it) and the graphical menu is launched with the first LABEL. | | I do think I see what the problem is though. Essentially, the config | parser completely reinitialises itself when parsing the include | directive, instead of cumulatively adding the contents. | | I'll bisect to see why this broke after 5.01. Ok, Thank you :) Best regards, Romain | | -- | Matt Fleming, Intel Open Source Technology Center |
On Thu, 27 Jun, at 11:45:28AM, Matt Fleming wrote:> I'll bisect to see why this broke after 5.01.Which is... commit 5447ef821c24b526079ef785d2454ed0efff3e2b Author: Matt Fleming <matt.fleming at intel.com> Date: Thu Feb 28 17:44:54 2013 +0000 ldlinux: Always update ConfigName when opening a config file With the introduction of commit aa7dd29db684 ("ldlinux: Pass config filename as argv[1] to ldlinux.c32") we stopped using ConfigName to store the filename of the config file we intend to open in execute() since it interfered with the filesystem-specific open_config() implementations. But a side-effect of this change is that syslinux_config_file() no longer works if we explicitly pass a filename to parse_config_file(). The logical place to keep ConfigName in sync is in parse_config_file() since it's expected that all the filesystem-specific open_config() functions will fill out ConfigName for us. In the case where the filename is supplied by the caller, we need to fill it out ourselves. Signed-off-by: Matt Fleming <matt.fleming at intel.com> Thanks for the report folks. This is fixed in 5.11-pre3 and will be in 6.01-pre5 when that gets released. -- Matt Fleming, Intel Open Source Technology Center