[syslinux] Comboot Menu

ganapathy murali krishnan gmurali at cs.uchicago.edu
Fri Jan 30 10:50:02 PST 2004


I forgot to add, that this requires SYSLINUX 2.09-pre1. If you run it in 
2.08 the screen will appear messed up.

- Murali

ganapathy murali krishnan wrote:
> With lots of help from Peter and the Watcom developers, I have managed 
> to get the thing working. Right now, you still have to hard code the 
> menu entries. However, it has its advantages. For example, one can 
> disable certain options, based on other options, "install event 
> handlers"....
> 
> One really useful menusystem would be combining this with chain.c32. The 
> program, first queries the BIOS and finds all the installed hard drives 
> and floppy drives, and using chain.c32 like code, finds which one is 
> bootable and which is not. Then one can dynamially generate a menu, one 
> option for each partition, with the unbootable partitions disabled.
> 
> So my question is: Do we still need a way to read a file and display the 
> menu from the file? We can only describe static menu systems using the 
> file, and besides the following code is not all that difficult to write.
> 
> If people are still interested in having static menu entries, then can 
> somebody else write that code. I have already spent a lot of time on 
> this now, and don't have the time to write the parser now.
> 
> You can download this from 
> http://people.cs.uchicago.edu/~gmurali/gui/comboot/tui.tgz.
> 
> Warnings:
> * The color choices I made turned out to be horrible when run under BIOS
>   (they did not look very bad under DOS box).
> * For some reason I haven't figured out, the color palette of the
>   syslinux display changes if I exit out of the menu. If somebody finds
>   out why, I'd appreciate knowing it so I can fix it.
> 
> 
> --------REALLY SIMPLE EXAMPLE -------
> // Bunch of #includes here
> 
> int _start()
> {
>  t_menuitem * curr;
> 
>  MAIN = add_menu(" Main Menu ");
>  add_item("Prepare","Status Line",OPT_RUN,"syslinux command",0);
>  add_item("Second Menu item","Status Line",OPT_RUN,"command",0);
>  add_item("Exit", "Exit the menu system", OPT_EXITMENU,"exit", 0);
> 
>  curr = showmenus(MAIN); // All the action happens here
> 
>  if (!curr) return 0; // user hit Esc in main menu
>  if (curr->action == OPT_RUN) runcommand(curr->data);// Call syslinux here
>  return 1; // Should never come here
> }
> ------- EXAMPLE ENDS ---------------
> 
> - 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.
> 
> 






More information about the Syslinux mailing list