[syslinux] Problem with "additional" submenus

Grant Gossett ggossett at symantec.com
Tue Nov 28 15:02:12 PST 2006


This is to confirm that Murali's suggestion of changing the "#define
MAXMENUS 10" preprocessor directive in <syslinux>/libmenu/menu.h did the
trick and my menus look good again.


Thanks!



-----Original Message-----
From: syslinux-bounces at zytor.com [mailto:syslinux-bounces at zytor.com] On
Behalf Of syslinux-request at zytor.com
Sent: Tuesday, November 28, 2006 12:00 PM
To: syslinux at zytor.com
Subject: SYSLINUX Digest, Vol 44, Issue 25

Send SYSLINUX mailing list submissions to
	syslinux at zytor.com

To subscribe or unsubscribe via the World Wide Web, visit
	http://www.zytor.com/mailman/listinfo/syslinux
or, via email, send a message with subject or body 'help' to
	syslinux-request at zytor.com

You can reach the person managing the list at
	syslinux-owner at zytor.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of SYSLINUX digest..."


Today's Topics:

   1. Re: Chaining from PXELinux to some other boot loader
      (Steve Marfisi)
   2. serial console speed (William Estrada)
   3. Requested logical partition not found (Jason Vasquez)
   4. Re: Problem with "additional" submenus (Murali Ganapathy)
   5. Advanced Menu features (Murali Ganapathy)
   6. Re: Advanced Menu features (Erwan Velu)
   7. Re: serial console speed (H. Peter Anvin)
   8. Re: Advanced Menu features (Murali Ganapathy)


----------------------------------------------------------------------

Message: 1
Date: Mon, 27 Nov 2006 15:29:52 -0500
From: "Steve Marfisi" <smarfisi at emboot.com>
Subject: Re: [syslinux] Chaining from PXELinux to some other boot
	loader
To: <syslinux at zytor.com>
Message-ID:
	<6C5E123EDC988B48850FE656201CED8A8AC689 at emboot-pdc.emboot.local>
Content-Type: text/plain;	charset="us-ascii"

Behrad said:

>>I am using PXELinux to boot BartPE and some other application and it
works fine. There are some other Boot application which I am using 3COM
MBAUTIL PXE.mnu and floppy images. I have problem chaining from
pxelinux.0 to 3com pxe.0 (pxe.mnu).

One suggestion - Download the network boot tools eval from emBoot. The
boot image editor utility can be used to chain PXELINUX.0 from its *.PXE
images, which might work for you. In other words, you could boot pxe.0,
and then chain to pxelinux.0

Steve Marfisi
emBoot Inc.


-----Original Message-----
From: syslinux-request at zytor.com [mailto:syslinux-request at zytor.com] 
Sent: Monday, November 27, 2006 3:00 PM
To: syslinux at zytor.com
Subject: SYSLINUX Digest, Vol 44, Issue 24

Send SYSLINUX mailing list submissions to
	syslinux at zytor.com

To subscribe or unsubscribe via the World Wide Web, visit
	http://www.zytor.com/mailman/listinfo/syslinux
or, via email, send a message with subject or body 'help' to
	syslinux-request at zytor.com

You can reach the person managing the list at
	syslinux-owner at zytor.com

When replying, please edit your Subject line so it is more specific than
"Re: Contents of SYSLINUX digest..."


Today's Topics:

   1. Re: Problem with "additional" submenus (Murali Krishnan Ganapathy)
   2. Chaining from PXELinux to some other boot loader
      (behrad at rayavaran.com)
   3. Re: Chaining from PXELinux to some other boot loader
      (H. Peter Anvin)


----------------------------------------------------------------------

Message: 1
Date: Sun, 26 Nov 2006 14:52:02 -0800
From: "Murali Krishnan Ganapathy" <gmkrishn.uofc at gmail.com>
Subject: Re: [syslinux] Problem with "additional" submenus
To: "Grant Gossett" <ggossett at symantec.com>
Cc: syslinux at zytor.com
Message-ID:
	<e0926190611261452w7bfb996ckd9813ad73116488f at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Thanks for including the code. My first guess would have been the named
menu stuff (which you have kind off ruled out). Could you try to see
which is the first version of the menu system where the current code
breaks?

I will try to hunt down the issue.

- Murali

On 11/22/06, Grant Gossett <ggossett at symantec.com> wrote:
> Hello all,
>
> First off, thanks for the great work.
>
> I have recently added "more submenus" to a functioning advanced menu 
> that only had one "submenu off of the main menu before" The addition 
> of the new submenus has caused the main menu to not function correctly

> and I have been pouring over the code for several weeks and I just 
> cannot see the error that I have introduced. This happens with both 
> syslinux
> 3.20-pre8 and newer versions (sorry, I want to say 3.31 something, but

> don't have exact version number this was tried with other than
> 3.20-pre8)
>
> What was a single first-level menu off of the main menu now instead of

> having all "OPT_RUN" items now has additional "OPT_SUBMENU" items to 
> aid in organization. I'll refer to this menu as the first-level 
> submenu, because all of the subsequent submenus work perfectly off of 
> this first-level submenu.
>
> The best description of what is happening is this:
>
> Instead of the main menu options only being displayed, the first-level

> submenu is displayed at the top of my now mangled main menu. The title

> of the now mangled main menu is the displayed as the title of the 
> first-level submenu. The good main menu options are displayed below 
> the options for the first-level submenu in my now mangled main menu. 
> For a visual description here is the best I can do, and I apologize if

> it word wraps and just makes it more confusing:
>
> What I want to see:
>
> (main menu title)
> Boot Normally
> Win 98 Startup Disk
> Linux Kickstart Options -->     (Linux Kickstart Options level-1
submenu
> title)
>                                         Redhat EL (submenu) -->
> (L2 submenu title..)
>                                         Fedora Core (submenu) -->
>                                         RedHat 9 (submenu) -->
>                                         Return to main menu (exitmenu)

> What I see:
>
> (Linux Kickstart Options level-1 submenu title) Redhat EL (submenu) 
> --> Fedora Core (submenu) --> RedHat 9 (submenu) --> Return to main 
> menu (exitmenu) --> (goes to boot: prompt) Boot Normally Win 98 
> Startup Disk Linux Kickstart Options --> (goes to boot: prompt instead

> of first-level
> submenu)
>
>
> In addition to the code you'll find below, I have also tried to use
the
> add_menu funtion rather than add_named_menu to add the menus and have
> used those return values in the calls to "add_item(..,
OPT_SUBMENU,..)"
> for the 5th parameters and I get the exact same results.
>
> Here is my code, hopefully someone can spot what I am doing wrong:
>
> #ifndef NULL
> #define NULL ((void *) 0)
> #endif
>
> #include "menu.h"
> #include "com32io.h"
> #include <string.h>
>
>
> TIMEOUTCODE ontimeout()
> {
>   return CODE_ENTER;
> }
>
>
> int main(void)
> {
>   t_menuitem * curr;
>
>   // Choose the default title and setup default values for all
> attributes....
>   init_menusystem(NULL);
>   set_window_size(1,1,23,78); // Leave one row/col border all around
>
>   reg_ontimeout(ontimeout, 3000, 0);
>
>
>   // Advanced Server 4 Submenu
>   add_named_menu("Advanced Server 4", "Select Update revision", -1);
>   add_item("Release", "Release", OPT_RUN, "RHELAS4_x86", 0);
>   add_item("Update 1", "Update 1", OPT_RUN, "RHELAS4_x86_U1", 0);
>   add_item("Update 2", "Update 2", OPT_RUN, "RHELAS4_x86_U2", 0);
>   add_item("Update 3", "Update 3", OPT_RUN, "RHELAS4_x86_U3", 0);
>   add_item("Update 4", "Update 4", OPT_RUN, "RHELAS4_x86_U4", 0);
>   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> Options Menu", OPT_EXITMENU, "exit", 0);
>
>   // Enterprise Server 4 Submenu
>   add_named_menu("Enterprise Server 4", "Select Update revision", -1);
>   add_item("Release", "Release", OPT_RUN, "RHELES4_x86", 0);
>   add_item("Update 1", "Update 1", OPT_RUN, "RHELES4_x86_U1", 0);
>   add_item("Update 2", "Update 2", OPT_RUN, "RHELES4_x86_U2", 0);
>   add_item("Update 3", "Update 3", OPT_RUN, "RHELES4_x86_U3", 0);
>   add_item("Update 4", "Update 4", OPT_RUN, "RHELES4_x86_U4", 0);
>   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> Options Menu", OPT_EXITMENU, "exit", 0);
>
>   // Workstation 4 Submenu
>   add_named_menu("Workstation 4", "Select Update revision", -1);
>   add_item("Release", "Release", OPT_RUN, "RHELWS4_x86", 0);
>   add_item("Update 1", "Update 1", OPT_RUN, "RHELWS4_x86_U1", 0);
>   add_item("Update 2", "Update 2", OPT_RUN, "RHELWS4_x86_U2", 0);
>   add_item("Update 3", "Update 3", OPT_RUN, "RHELWS4_x86_U3", 0);
>   add_item("Update 4", "Update 4", OPT_RUN, "RHELWS4_x86_U4", 0);
>   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> Options Menu", OPT_EXITMENU, "exit", 0);
>
>   // Advanced Server 3 Submenu
>   add_named_menu("Advanced Server 3", "Select Update revision", -1);
>   add_item("Release", "Release", OPT_RUN, "RHELAS3_x86", 0);
>   add_item("Update 1", "Update 1", OPT_RUN, "RHELAS3_x86_U1", 0);
>   add_item("Update 2", "Update 2", OPT_RUN, "RHELAS3_x86_U2", 0);
>   add_item("Update 3", "Update 3", OPT_RUN, "RHELAS3_x86_U3", 0);
>   add_item("Update 4", "Update 4", OPT_RUN, "RHELAS3_x86_U4", 0);
>   add_item("Update 5", "Update 5", OPT_RUN, "RHELAS3_x86_U5", 0);
>   add_item("Update 6", "Update 6", OPT_RUN, "RHELAS3_x86_U6", 0);
>   add_item("Update 7", "Update 7", OPT_RUN, "RHELAS3_x86_U7", 0);
>   add_item("Update 8", "Update 8", OPT_RUN, "RHELAS3_x86_U8", 0);
>   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> Options Menu", OPT_EXITMENU, "exit", 0);
>
>   // Enterprise Server 3 Submenu
>   add_named_menu("Enterprise Server 3", "Select Update revision", -1);
>   add_item("Release", "Release", OPT_RUN, "RHELES3_x86", 0);
>   add_item("Update 1", "Update 1", OPT_RUN, "RHELES3_x86_U1", 0);
>   add_item("Update 2", "Update 2", OPT_RUN, "RHELES3_x86_U2", 0);
>   add_item("Update 3", "Update 3", OPT_RUN, "RHELES3_x86_U3", 0);
>   add_item("Update 4", "Update 4", OPT_RUN, "RHELES3_x86_U4", 0);
>   add_item("Update 5", "Update 5", OPT_RUN, "RHELES3_x86_U5", 0);
>   add_item("Update 6", "Update 6", OPT_RUN, "RHELES3_x86_U6", 0);
>   add_item("Update 7", "Update 7", OPT_RUN, "RHELES3_x86_U7", 0);
>   add_item("Update 8", "Update 8", OPT_RUN, "RHELES3_x86_U8", 0);
>   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> Options Menu", OPT_EXITMENU, "exit", 0);
>
>   // Workstation 3 Submenu
>   add_named_menu("Workstation 3", "Select Update revision", -1);
>   add_item("Release", "Release", OPT_RUN, "RHELWS3_x86", 0);
>   add_item("Update 1", "Update 1", OPT_RUN, "RHELWS3_x86_U1", 0);
>   add_item("Update 2", "Update 2", OPT_RUN, "RHELWS3_x86_U2", 0);
>   add_item("Update 3", "Update 3", OPT_RUN, "RHELWS3_x86_U3", 0);
>   add_item("Update 4", "Update 4", OPT_RUN, "RHELWS4_x86_U4", 0);
>   add_item("Update 5", "Update 5", OPT_RUN, "RHELWS3_x86_U5", 0);
>   add_item("Update 6", "Update 6", OPT_RUN, "RHELWS3_x86_U6", 0);
>   add_item("Update 7", "Update 7", OPT_RUN, "RHELWS3_x86_U7", 0);
>   add_item("Update 8", "Update 8", OPT_RUN, "RHELWS3_x86_U8", 0);
>   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> Options Menu", OPT_EXITMENU, "exit", 0);
>
>   // Redhat Enterprise Linux Kickstart Submenu Items
>   add_named_menu("Redhat Enterprise Linux Options", "Redhat Enterprise
> Linux Options", -1);
>   add_item("Advanced Server version 4", "Kickstart Redhat Enterprise
> Linux Advanced Server 4", OPT_SUBMENU, "Advanced Server 4", 0);
>   add_item("Enterprise Server version 4", "Kickstart Redhat Enterprise
> Linux Enterprise Server 4", OPT_SUBMENU, "Enterprise Server 4", 0);
>   add_item("Workstation version 4", "Kickstart Redhat Enterprise Linux
> Workstation 4", OPT_SUBMENU, "Workstation 4", 0);
>   add_item("Advanced Server version 3", "Kickstart Redhat Enterprise
> Linux Advanced Server 3", OPT_SUBMENU, "Advanced Server 3", 0);
>   add_item("Enterprise Server version 3", "Kickstart Redhat Enterprise
> Linux Enterprise Server 3", OPT_SUBMENU, "Enterprise Server 3", 0);
>   add_item("Workstation version 3", "Kickstart Redhat Enterprise Linux
> Workstation 3", OPT_SUBMENU, "Workstation 3", 0);
>   add_item("Back to Kickstart Options Menu", "Back to Kickstart
Options
> Menu", OPT_EXITMENU, "exit", 0);
>
>   // Fedora Core Kickstart Submenu Items
>   add_named_menu("Fedora Core Options", "Fedora Core Options", -1);
>   add_item("Fedora Core version 4", "Kickstart Fedora Core 4",
OPT_RUN,
> "FC4_x86", 0);
>   add_item("Fedora Core version 5", "Kickstart Fedora Core 5",
OPT_RUN,
> "FC5_x86", 0);
>   add_item("Fedora Core version 6", "Kickstart Fedora Core 6",
OPT_RUN,
> "FC6_x86", 0);
>   add_item("Back to Kickstart Options Menu", "Back to Kickstart
Options
> Menu", OPT_EXITMENU, "exit", 0);
>
>   // Redhat Linux Kickstart Submenu Items
>   add_named_menu("Redhat Linux Options", "Redhat Linux Options", -1);
>   add_item("Redhat version 9", "Kickstart Redhat 9", OPT_RUN,
"RH9_x86",
> 0);
>   add_item("Back to Kickstart Options Menu", "Back to Kickstart
Options
> Menu", OPT_EXITMENU, "exit", 0);
>
>   // Linux Kickstart Submenu
>   add_named_menu("Linux Kickstart Options", "Linux Kickstart Options",
> -1);
>   add_item("Redhat Enterprise Linux", "Kickstart Redhat Enterprise
Linux
> versions", OPT_SUBMENU, "Redhat Enterprise Linux Options", 0);
>   add_item("Fedora Core", "Kickstart Fedora Core versions",
OPT_SUBMENU,
> "Fedora Core Options", 0);
>   add_item("Redhat Linux", "Kickstart Redhat Linux versions",
> OPT_SUBMENU, "Redhat Linux Options", 0);
>   add_item("Back to QALABS PXE Menu", "Back to QALABS PXE Menu",
> OPT_EXITMENU, "exit", 0);
>
>   // Main Menu Items
>   add_named_menu("PXE Menu", "PXE Menu", -1);
>   add_item("Boot Normally", "Boot Normally", OPT_RUN,
> "normal_boot_order", 0);
>   add_item("Windows 98 SE Startup Disk", "Windows 98 SE Startup Disk",
> OPT_RUN, "win98_bootdisk", 0);
>   add_item("Linux Kickstart Options", "Kickstart install various Linux
> distributions", OPT_SUBMENU, "Linux Kickstart Options", 0);
>
>
>
>   curr = showmenus(find_menu_num("PXE Menu"));
>
>   if (curr)
>   {
>         if (curr->action == OPT_RUN)
>         {
>             if (issyslinux()) runsyslinuxcmd(curr->data);
>             else csprint(curr->data,0x07);
>             return 1;
>         }
>         csprint("Error! Bad things have happened to the network boot
> menu", 0x07);
>   }
>   return 0;
> }
>
> _______________________________________________
> 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.
>
>



------------------------------

Message: 2
Date: Mon, 27 Nov 2006 12:44:04 +0330
From: <behrad at rayavaran.com>
Subject: [syslinux] Chaining from PXELinux to some other boot loader
To: <syslinux at zytor.com>
Message-ID:
	<05E3F0C1134AEC46928D6962685ECDB801D2D0 at sahand.rayavaran.com>
Content-Type: text/plain;	charset="windows-1256"

Hi

I am using PXELinux to boot BartPE and some other application and it
works fine. There are some other Boot application which I am using 3COM
MBAUTIL PXE.mnu and floppy images. I have problem chaining from
pxelinux.0 to 3com pxe.0 (pxe.mnu).

Consider:

BIOS->(DHCP-TFTP)->pxelinux.0 works fine.
BIOS->(DHCP-TFTP)->3COM pxe.mnu works fine, the menu appears and I can
choose a floppy image.
BIOS->(DHCP-TFTP)->pxelinix.0->(choose from menu, KERNEL pxe.0 APPEND
keeppxe)->3COM pxe.mnu has some problem. The initial 3COM menu appears
but when I choose a floppy image it hangs.

I have said about this problem before and I am sorry that I insist but I
think there is some problem in pxelinux.0 which if solved maybe other
problem in chaining other kernels may clear too. 

The problem may be like:
1) KeepPXE is not working fine
2) PXELinux.0 is loaded in a memory offset, the it loads the other
kernel (3com pxe.mnu) in another memory location and 3COM pxe.mny maybe
memory location dependant. Is there any way to replace pxelinux.0 by
pxe.mnu in the memory as if pxe.mnu is loaded in the first step?

Behrad



------------------------------

Message: 3
Date: Mon, 27 Nov 2006 08:25:57 -0800
From: "H. Peter Anvin" <hpa at zytor.com>
Subject: Re: [syslinux] Chaining from PXELinux to some other boot
	loader
To: behrad at rayavaran.com
Cc: syslinux at zytor.com
Message-ID: <456B1195.9030003 at zytor.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

behrad at rayavaran.com wrote:
> 
> I have said about this problem before and I am sorry that I insist but
I think there is some problem in pxelinux.0 which if solved maybe other
problem in chaining other kernels may clear too. 
> 
> The problem may be like:
> 1) KeepPXE is not working fine
> 2) PXELinux.0 is loaded in a memory offset, the it loads the other
kernel (3com pxe.mnu) in another memory location and 3COM pxe.mny maybe
memory location dependant. Is there any way to replace pxelinux.0 by
pxe.mnu in the memory as if pxe.mnu is loaded in the first step?
> 

Except pxe.0 *is* loaded into the same memory location, and with the 
same startup registers, as pxelinux.0 itself got.

	-hpa



------------------------------

_______________________________________________
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.


End of SYSLINUX Digest, Vol 44, Issue 24
****************************************




------------------------------

Message: 2
Date: Mon, 27 Nov 2006 14:09:58 -0800
From: William Estrada <MrUmunhum at popdial.com>
Subject: [syslinux] serial console speed
To: syslinux at zytor.com
Message-ID: <456B6236.1080102 at popdial.com>
Content-Type: text/plain; charset=us-ascii; format=flowed

What is the maxium console speed for the serial port?  I am trying to
use 57600
and get garbage out.  Flow control is off, using a null modem cable.

-- 
  Thanks for your time.

William Estrada

Email      : MrUmunhum at popdial dot com
Resume     : www.Mt-Umunhum-Wireless.net/resume/william_estrada.html
HTTP       : www.Mt-Umunhum-Wireless.net



------------------------------

Message: 3
Date: Mon, 27 Nov 2006 17:39:53 -0500
From: "Jason Vasquez" <jvasquez at kennesaw.edu>
Subject: [syslinux] Requested logical partition not found
To: <syslinux at zytor.com>
Message-ID: <s56b22f3.095 at greatowl.kennesaw.edu>
Content-Type: text/plain; charset=US-ASCII

Hi.  I need some help from the experts please.  I am experiencing a
syslinux error message and I cannot find much in the way of help or
reference from the documentation or the archives.  Using a USB hard
drive (as detailed below), I have three primary partitions and one
extended partition.
 
Disk /dev/sdb: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1           8       64228+   b  W95 FAT32
/dev/sdb2               9          16       64260    b  W95 FAT32
/dev/sdb3              17          81      522112+   b  W95 FAT32
/dev/sdb4              82        7295    57946455    f  W95 Ext'd
(LBA)
/dev/sdb5              82         114      265041    b  W95 FAT32

The three primary partitions boot successfully, but when attempting to
boot from the logical partition I receive the following error: 
"Requested logical partition not found".

Hmm.  I am using syslinux-3.31 and have even tried using
syslinux-3.32-pre7 (all from Windows, though), and still the same error
message.  I've partitioned the drive from both Windows XP Pro and from
the GParted-LiveCD-0.3.1-1 to compare the results.   Again, no change -
same error.  I have tried other OS instances on the logical partition to
no avail, so it should not be the content of the partition causing the
error.  Below is the syslinux.cfg file I am using.  Simply, I am doing
something wrong, no?  Any help would be greatly appreciated.


DEFAULT vesamenu.c32
PROMPT 0

MENU TITLE WD Passport Portable Multiboot
MENU BACKGROUND splash.png

LABEL Gparted
MENU LABEL ^GParted LiveUSB
KERNEL linux
APPEND noapic initrd=initrd.gz root=/dev/ram0 init=/linuxrc
ramdisk_size=65000

LABEL grc.com
MENU LABEL ^SpinRite v6.0
KERNEL memdisk
APPEND initrd=SpinRite.img

LABEL ntpassword
MENU LABEL ^Offline NT Password & Registry Editor
KERNEL chain.c32
APPEND hd0 2

LABEL WipeDrive
MENU LABEL ^WipeDrive Pro
KERNEL chain.c32
APPEND hd0 3 

LABEL puppylinux.org
MENU LABEL ^Puppy Linux 2.12
KERNEL chain.c32
APPEND hd0 5



------------------------------

Message: 4
Date: Mon, 27 Nov 2006 18:15:35 -0800
From: "Murali Ganapathy" <murali at google.com>
Subject: Re: [syslinux] Problem with "additional" submenus
To: "Grant Gossett" <ggossett at symantec.com>
Cc: syslinux at zytor.com
Message-ID:
	<ad7aea780611271815l648278baw4e450f56221b947d at mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed

Found the problem. In "libmenu/menu.h" defines the maximum number of
menu's in the menusystem to be 10. You are using 11 menus. So the last
call to "add_named_menu" should be returning with an error. If you
increase the "MAXMENUS" in libmenu/menu.h to say 32, you should be OK.

- Murali

On 11/26/06, Murali Krishnan Ganapathy <gmkrishn.uofc at gmail.com> wrote:
> Thanks for including the code. My first guess would have been the
> named menu stuff (which you have kind off ruled out). Could you try to
> see which is the first version of the menu system where the current
> code breaks?
>
> I will try to hunt down the issue.
>
> - Murali
>
> On 11/22/06, Grant Gossett <ggossett at symantec.com> wrote:
> > Hello all,
> >
> > First off, thanks for the great work.
> >
> > I have recently added "more submenus" to a functioning advanced menu
> > that only had one "submenu off of the main menu before" The addition
of
> > the new submenus has caused the main menu to not function correctly
and
> > I have been pouring over the code for several weeks and I just
cannot
> > see the error that I have introduced. This happens with both
syslinux
> > 3.20-pre8 and newer versions (sorry, I want to say 3.31 something,
but
> > don't have exact version number this was tried with other than
> > 3.20-pre8)
> >
> > What was a single first-level menu off of the main menu now instead
of
> > having all "OPT_RUN" items now has additional "OPT_SUBMENU" items to
aid
> > in organization. I'll refer to this menu as the first-level submenu,
> > because all of the subsequent submenus work perfectly off of this
> > first-level submenu.
> >
> > The best description of what is happening is this:
> >
> > Instead of the main menu options only being displayed, the
first-level
> > submenu is displayed at the top of my now mangled main menu. The
title
> > of the now mangled main menu is the displayed as the title of the
> > first-level submenu. The good main menu options are displayed below
the
> > options for the first-level submenu in my now mangled main menu. For
a
> > visual description here is the best I can do, and I apologize if it
word
> > wraps and just makes it more confusing:
> >
> > What I want to see:
> >
> > (main menu title)
> > Boot Normally
> > Win 98 Startup Disk
> > Linux Kickstart Options -->     (Linux Kickstart Options level-1
submenu
> > title)
> >                                         Redhat EL (submenu) -->
> > (L2 submenu title..)
> >                                         Fedora Core (submenu) -->
> >                                         RedHat 9 (submenu) -->
> >                                         Return to main menu
(exitmenu)
> > What I see:
> >
> > (Linux Kickstart Options level-1 submenu title)
> > Redhat EL (submenu) -->
> > Fedora Core (submenu) -->
> > RedHat 9 (submenu) -->
> > Return to main menu (exitmenu) --> (goes to boot: prompt)
> > Boot Normally
> > Win 98 Startup Disk
> > Linux Kickstart Options --> (goes to boot: prompt instead of
first-level
> > submenu)
> >
> >
> > In addition to the code you'll find below, I have also tried to use
the
> > add_menu funtion rather than add_named_menu to add the menus and
have
> > used those return values in the calls to "add_item(..,
OPT_SUBMENU,..)"
> > for the 5th parameters and I get the exact same results.
> >
> > Here is my code, hopefully someone can spot what I am doing wrong:
> >
> > #ifndef NULL
> > #define NULL ((void *) 0)
> > #endif
> >
> > #include "menu.h"
> > #include "com32io.h"
> > #include <string.h>
> >
> >
> > TIMEOUTCODE ontimeout()
> > {
> >   return CODE_ENTER;
> > }
> >
> >
> > int main(void)
> > {
> >   t_menuitem * curr;
> >
> >   // Choose the default title and setup default values for all
> > attributes....
> >   init_menusystem(NULL);
> >   set_window_size(1,1,23,78); // Leave one row/col border all around
> >
> >   reg_ontimeout(ontimeout, 3000, 0);
> >
> >
> >   // Advanced Server 4 Submenu
> >   add_named_menu("Advanced Server 4", "Select Update revision", -1);
> >   add_item("Release", "Release", OPT_RUN, "RHELAS4_x86", 0);
> >   add_item("Update 1", "Update 1", OPT_RUN, "RHELAS4_x86_U1", 0);
> >   add_item("Update 2", "Update 2", OPT_RUN, "RHELAS4_x86_U2", 0);
> >   add_item("Update 3", "Update 3", OPT_RUN, "RHELAS4_x86_U3", 0);
> >   add_item("Update 4", "Update 4", OPT_RUN, "RHELAS4_x86_U4", 0);
> >   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> > Options Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Enterprise Server 4 Submenu
> >   add_named_menu("Enterprise Server 4", "Select Update revision",
-1);
> >   add_item("Release", "Release", OPT_RUN, "RHELES4_x86", 0);
> >   add_item("Update 1", "Update 1", OPT_RUN, "RHELES4_x86_U1", 0);
> >   add_item("Update 2", "Update 2", OPT_RUN, "RHELES4_x86_U2", 0);
> >   add_item("Update 3", "Update 3", OPT_RUN, "RHELES4_x86_U3", 0);
> >   add_item("Update 4", "Update 4", OPT_RUN, "RHELES4_x86_U4", 0);
> >   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> > Options Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Workstation 4 Submenu
> >   add_named_menu("Workstation 4", "Select Update revision", -1);
> >   add_item("Release", "Release", OPT_RUN, "RHELWS4_x86", 0);
> >   add_item("Update 1", "Update 1", OPT_RUN, "RHELWS4_x86_U1", 0);
> >   add_item("Update 2", "Update 2", OPT_RUN, "RHELWS4_x86_U2", 0);
> >   add_item("Update 3", "Update 3", OPT_RUN, "RHELWS4_x86_U3", 0);
> >   add_item("Update 4", "Update 4", OPT_RUN, "RHELWS4_x86_U4", 0);
> >   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> > Options Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Advanced Server 3 Submenu
> >   add_named_menu("Advanced Server 3", "Select Update revision", -1);
> >   add_item("Release", "Release", OPT_RUN, "RHELAS3_x86", 0);
> >   add_item("Update 1", "Update 1", OPT_RUN, "RHELAS3_x86_U1", 0);
> >   add_item("Update 2", "Update 2", OPT_RUN, "RHELAS3_x86_U2", 0);
> >   add_item("Update 3", "Update 3", OPT_RUN, "RHELAS3_x86_U3", 0);
> >   add_item("Update 4", "Update 4", OPT_RUN, "RHELAS3_x86_U4", 0);
> >   add_item("Update 5", "Update 5", OPT_RUN, "RHELAS3_x86_U5", 0);
> >   add_item("Update 6", "Update 6", OPT_RUN, "RHELAS3_x86_U6", 0);
> >   add_item("Update 7", "Update 7", OPT_RUN, "RHELAS3_x86_U7", 0);
> >   add_item("Update 8", "Update 8", OPT_RUN, "RHELAS3_x86_U8", 0);
> >   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> > Options Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Enterprise Server 3 Submenu
> >   add_named_menu("Enterprise Server 3", "Select Update revision",
-1);
> >   add_item("Release", "Release", OPT_RUN, "RHELES3_x86", 0);
> >   add_item("Update 1", "Update 1", OPT_RUN, "RHELES3_x86_U1", 0);
> >   add_item("Update 2", "Update 2", OPT_RUN, "RHELES3_x86_U2", 0);
> >   add_item("Update 3", "Update 3", OPT_RUN, "RHELES3_x86_U3", 0);
> >   add_item("Update 4", "Update 4", OPT_RUN, "RHELES3_x86_U4", 0);
> >   add_item("Update 5", "Update 5", OPT_RUN, "RHELES3_x86_U5", 0);
> >   add_item("Update 6", "Update 6", OPT_RUN, "RHELES3_x86_U6", 0);
> >   add_item("Update 7", "Update 7", OPT_RUN, "RHELES3_x86_U7", 0);
> >   add_item("Update 8", "Update 8", OPT_RUN, "RHELES3_x86_U8", 0);
> >   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> > Options Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Workstation 3 Submenu
> >   add_named_menu("Workstation 3", "Select Update revision", -1);
> >   add_item("Release", "Release", OPT_RUN, "RHELWS3_x86", 0);
> >   add_item("Update 1", "Update 1", OPT_RUN, "RHELWS3_x86_U1", 0);
> >   add_item("Update 2", "Update 2", OPT_RUN, "RHELWS3_x86_U2", 0);
> >   add_item("Update 3", "Update 3", OPT_RUN, "RHELWS3_x86_U3", 0);
> >   add_item("Update 4", "Update 4", OPT_RUN, "RHELWS4_x86_U4", 0);
> >   add_item("Update 5", "Update 5", OPT_RUN, "RHELWS3_x86_U5", 0);
> >   add_item("Update 6", "Update 6", OPT_RUN, "RHELWS3_x86_U6", 0);
> >   add_item("Update 7", "Update 7", OPT_RUN, "RHELWS3_x86_U7", 0);
> >   add_item("Update 8", "Update 8", OPT_RUN, "RHELWS3_x86_U8", 0);
> >   add_item("Back to RHEL Options Menu", "Back to Redhat Enterprise
Linux
> > Options Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Redhat Enterprise Linux Kickstart Submenu Items
> >   add_named_menu("Redhat Enterprise Linux Options", "Redhat
Enterprise
> > Linux Options", -1);
> >   add_item("Advanced Server version 4", "Kickstart Redhat Enterprise
> > Linux Advanced Server 4", OPT_SUBMENU, "Advanced Server 4", 0);
> >   add_item("Enterprise Server version 4", "Kickstart Redhat
Enterprise
> > Linux Enterprise Server 4", OPT_SUBMENU, "Enterprise Server 4", 0);
> >   add_item("Workstation version 4", "Kickstart Redhat Enterprise
Linux
> > Workstation 4", OPT_SUBMENU, "Workstation 4", 0);
> >   add_item("Advanced Server version 3", "Kickstart Redhat Enterprise
> > Linux Advanced Server 3", OPT_SUBMENU, "Advanced Server 3", 0);
> >   add_item("Enterprise Server version 3", "Kickstart Redhat
Enterprise
> > Linux Enterprise Server 3", OPT_SUBMENU, "Enterprise Server 3", 0);
> >   add_item("Workstation version 3", "Kickstart Redhat Enterprise
Linux
> > Workstation 3", OPT_SUBMENU, "Workstation 3", 0);
> >   add_item("Back to Kickstart Options Menu", "Back to Kickstart
Options
> > Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Fedora Core Kickstart Submenu Items
> >   add_named_menu("Fedora Core Options", "Fedora Core Options", -1);
> >   add_item("Fedora Core version 4", "Kickstart Fedora Core 4",
OPT_RUN,
> > "FC4_x86", 0);
> >   add_item("Fedora Core version 5", "Kickstart Fedora Core 5",
OPT_RUN,
> > "FC5_x86", 0);
> >   add_item("Fedora Core version 6", "Kickstart Fedora Core 6",
OPT_RUN,
> > "FC6_x86", 0);
> >   add_item("Back to Kickstart Options Menu", "Back to Kickstart
Options
> > Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Redhat Linux Kickstart Submenu Items
> >   add_named_menu("Redhat Linux Options", "Redhat Linux Options",
-1);
> >   add_item("Redhat version 9", "Kickstart Redhat 9", OPT_RUN,
"RH9_x86",
> > 0);
> >   add_item("Back to Kickstart Options Menu", "Back to Kickstart
Options
> > Menu", OPT_EXITMENU, "exit", 0);
> >
> >   // Linux Kickstart Submenu
> >   add_named_menu("Linux Kickstart Options", "Linux Kickstart
Options",
> > -1);
> >   add_item("Redhat Enterprise Linux", "Kickstart Redhat Enterprise
Linux
> > versions", OPT_SUBMENU, "Redhat Enterprise Linux Options", 0);
> >   add_item("Fedora Core", "Kickstart Fedora Core versions",
OPT_SUBMENU,
> > "Fedora Core Options", 0);
> >   add_item("Redhat Linux", "Kickstart Redhat Linux versions",
> > OPT_SUBMENU, "Redhat Linux Options", 0);
> >   add_item("Back to QALABS PXE Menu", "Back to QALABS PXE Menu",
> > OPT_EXITMENU, "exit", 0);
> >
> >   // Main Menu Items
> >   add_named_menu("PXE Menu", "PXE Menu", -1);
> >   add_item("Boot Normally", "Boot Normally", OPT_RUN,
> > "normal_boot_order", 0);
> >   add_item("Windows 98 SE Startup Disk", "Windows 98 SE Startup
Disk",
> > OPT_RUN, "win98_bootdisk", 0);
> >   add_item("Linux Kickstart Options", "Kickstart install various
Linux
> > distributions", OPT_SUBMENU, "Linux Kickstart Options", 0);
> >
> >
> >
> >   curr = showmenus(find_menu_num("PXE Menu"));
> >
> >   if (curr)
> >   {
> >         if (curr->action == OPT_RUN)
> >         {
> >             if (issyslinux()) runsyslinuxcmd(curr->data);
> >             else csprint(curr->data,0x07);
> >             return 1;
> >         }
> >         csprint("Error! Bad things have happened to the network boot
> > menu", 0x07);
> >   }
> >   return 0;
> > }
> >
> > _______________________________________________
> > 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.
> >
> >
>
> _______________________________________________
> 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.
>
>



------------------------------

Message: 5
Date: Mon, 27 Nov 2006 18:26:10 -0800
From: "Murali Ganapathy" <murali at google.com>
Subject: [syslinux] Advanced Menu features
To: syslinux at zytor.com
Message-ID:
	<ad7aea780611271826pa751599nfbdd62aacf5e6a53 at mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hi All,

I hope to find some time to work on the Advanced menu system. I
personally no longer have a need for it (changed jobs). Since I dont
want to spend time doing stuff which will not be useful, I would to
know what features you would like.

What I have in my list are

* Eliminate the need to compile each menu into its own .c32 file
* Eliminate #define constants in menu.h which impose various
restrictions
  (Max # menus, Max # items in a menu, ...)
* Add VESA Graphics support (hopefully it is easy)

- Murali



------------------------------

Message: 6
Date: Tue, 28 Nov 2006 11:44:23 +0100
From: Erwan Velu <erwan at seanodes.com>
Subject: Re: [syslinux] Advanced Menu features
To: Murali Ganapathy <murali at google.com>
Cc: syslinux at zytor.com
Message-ID: <456C1307.3090000 at seanodes.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Murali Ganapathy wrote:
> Hi All,
>
> I hope to find some time to work on the Advanced menu system. I
> personally no longer have a need for it (changed jobs). Since I dont
> want to spend time doing stuff which will not be useful, I would to
> know what features you would like.
>
> What I have in my list are
>
> * Eliminate the need to compile each menu into its own .c32 file
>   
I think this is an excellent idea because many people I've shown the 
menu found it nice but too diffcult for them as they don't know how to 
write C code.
> * Eliminate #define constants in menu.h which impose various
restrictions
>   (Max # menus, Max # items in a menu, ...)
>   
Could be interesting as many of us have some big menus due to some big 
configuration files.
I had some troubles with some earlier version leading to some crash. I 
like It ;)
> * Add VESA Graphics support (hopefully it is easy)
>   
Defenitively, I vote for it ;)

If it helps you, here come my vote:
1- Vesa
2- No compilation for creating some menu
3- Eliminate constats

Hope it helps,



------------------------------

Message: 7
Date: Tue, 28 Nov 2006 06:57:10 -0800
From: "H. Peter Anvin" <hpa at zytor.com>
Subject: Re: [syslinux] serial console speed
To: MrUmunhum at popdial.com
Cc: syslinux at zytor.com
Message-ID: <456C4E46.9070900 at zytor.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

William Estrada wrote:
> What is the maxium console speed for the serial port?  I am trying to
use 57600
> and get garbage out.  Flow control is off, using a null modem cable.
> 

I regularly use 115200 without problems.  You might have a bad cable?

	-hpa



------------------------------

Message: 8
Date: Tue, 28 Nov 2006 10:21:54 -0800
From: "Murali Ganapathy" <murali at google.com>
Subject: Re: [syslinux] Advanced Menu features
To: "Erwan Velu" <erwan at seanodes.com>
Cc: syslinux at zytor.com
Message-ID:
	<ad7aea780611281021r7a37a671paa50fe3b472fcefd at mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed

On 11/28/06, Erwan Velu <erwan at seanodes.com> wrote:
> Murali Ganapathy wrote:
> > Hi All,
> >
> > I hope to find some time to work on the Advanced menu system. I
> > personally no longer have a need for it (changed jobs). Since I dont
> > want to spend time doing stuff which will not be useful, I would to
> > know what features you would like.
> >
> > What I have in my list are
> >
> > * Eliminate the need to compile each menu into its own .c32 file
> >
> I think this is an excellent idea because many people I've shown the
> menu found it nice but too diffcult for them as they don't know how to
> write C code.

As it stands, there is no need to write C code. You can create a .menu
file and the C code can be automaticaly generated. However every
change to the .menu file requires a recompile into .C32.

Thanks for your input.
- Murali



------------------------------

_______________________________________________
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.


End of SYSLINUX Digest, Vol 44, Issue 25
****************************************




More information about the Syslinux mailing list