[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