[syslinux] bug or user error - menu.c32 in syslinux-3.62-pre11

Jim Cromie jim.cromie at gmail.com
Wed Jul 15 08:19:42 PDT 2009


Im trying to use newer simple-menu features,
and have found that the following config-file
(closely based on wiki pxelinux example)
-   fails for 3.62-pre11,
-   works for 3.62-pre10

where 'working' is successive reloads such that re-edits of file are
seen on next reload
and broken is issuing this error:

Initial menu has no LABEL entries!
                                  boot:


#> more default

SERIAL  0 115200
CONSOLE 0
TIMEOUT 50
IPAPPEND 0

    default menu.c32
    prompt 0

    menu title PXE Wiki Boot Menu example
    menu INCLUDE pxelinux.cfg/graphics.conf
    MENU AUTOBOOT Starting Local System in # seconds

    label selfload
      menu label ^Main, self-reload
      menu default
      timeout 200
      KERNEL menu.c32
      APPEND pxelinux.cfg/default
      TOTALTIMEOUT 9000

    LABEL Tools Menu
      MENU LABEL ^Tools Men
      # timeout 50
      KERNEL menu.c32
      APPEND pxelinux.cfg/graphics.conf pxelinux.cfg/c32tools.menu

    LABEL Setup Menu
      MENU LABEL ^Setup Menu
      KERNEL menu.c32
      APPEND pxelinux.cfg/graphics.conf pxelinux.cfg/setup.menu

    LABEL Fixes Menu
      MENU LABEL ^Fixes Menu
      KERNEL menu.c32
      APPEND pxelinux.cfg/graphics.conf pxelinux.cfg/fixes.menu




And while Im writing, Ive also had some mixed success with the c32 sample tools:

MENU TITLE c32 Tools

    LABEL   A hdt.c32
	MENU LABEL	^a.  hdt.c32
	KERNEL        hdt.c32
    LABEL   B hello.c32
	MENU LABEL	^b.  hello.c32
	KERNEL        hello.c32
    LABEL   C localboot.c32
	MENU LABEL	^c.  localboot.c32
	KERNEL        localboot.c32
    LABEL   D meminfo.c32
	MENU LABEL	^d.  meminfo.c32
	KERNEL        meminfo.c32
    LABEL   E menu.c32
	MENU LABEL	^e.  menu.c32
	KERNEL        menu.c32
    LABEL   F pcitest.c32
	MENU LABEL	^f.  pcitest.c32
	KERNEL        pcitest.c32
    LABEL   G serialinfo.c32
	MENU LABEL	^g.  serialinfo.c32
	KERNEL        serialinfo.c32
    LABEL   H reboot.c32
	MENU LABEL	^h.  reboot.c32
	KERNEL        reboot.c32


1st, the working ones (output pasted from 3.62-pre1) :
 meminfo & serialinfo:

INT 15h = f000:50fe  DOS RAM: 582K (0x91800)  INT 12h: 582K (0x91800)
INT 15 88: 0xfc00 (64512K)  INT 15 E801: 0x3c00 (15360K) 0x0700 (114688K)
       0 0000000000000000 000000000009fc00 000000000009fc00 1 usable
       1 000000000009fc00 0000000000000400 00000000000a0000 2 reserved
       2 00000000000f0000 0000000000010000 0000000000100000 2 reserved
       3 0000000000100000 0000000007f00000 0000000008000000 1 usable
       4 00000000fff00000 0000000000100000 0000000100000000 2 reserved
boot:

Serial port base:    0x03f8
Serial port divisor:      1 (115200 baud)
Flow control bits:    0x8000
boot:

if you wait ~20 sec, or hit return again, then reload happens automatically.

hello.c32
pcitest.c32 - does nothing, just hangs

hdt.c32 - writes a broken table-looking-thing to screen, then blanks it.
I suspect that the "console 0" may be part of the problem; I need this
cuz my soekris does some console/vga mixing that doubles characters on-screen.


  Hardware Detection Tool 0.2.7 by Erwan Velu

+------ ----------------+
                                                       |  P
       *|#                                                      |
                *|#
  |                      *|#
           |  P                   *|#
                    |  -                   -|#
                             |  S                   *|#
                                      |  S                   *|#
                                               |  -
-|#                                                      |  S
          |#                                                      |
                  *|#
    |* E                    |#
             +-----------------------+#
                       #########################



by starting my picocom session inside a `script` session, I
got a better look at the output


  Hardware Detection
 Tool 0.2.7 by Erwan Velu
CPU: Detecting
DISKS: Detecting
  DISK 0x80: 0x80 : hdt. c32
	MEN: sectors=1936486255, s/t=63 head=16 : EDD=1.1
DMI: Detecting Table
DMI: ERROR ! Table not found !
DMI: Many hardware components will not be detected !
PCI: 10 devices detected
PCI: Resolving names
PCI: Resolving class names
PCI: Resolving module names
PCI: 10 Devices Found
VESA: Detecting
MENU: Processor menu done (14 items)
MENU: Disks menu done (1 items)
MENU: PCI menu done (10 items)
MENU: PXE menu done (8 items)
MENU: Kernel menu done (0 items)
MENU: Summary menu done (5 items)
MENU: Syslinux menu done (5 items)
MENU: VESA menu done (2 items)
MENU: About menu done (6 items)
Starting Menu (18 menus)


I cannot tell how to navigate the menus,
but Im happy to repeat this script-based capture,
and do some blind menu-browsing to stimulate
more output.  I'll look on your hdt website for clues (rummages..)







Id be inclined to refine the Wiki example (esp adding the
c32tools.menu file) once I can ascertain what exactly is wrong with
what Ive done.




More information about the Syslinux mailing list