grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DISCUSSION] Scripts and menus


From: Vladimir Serbinenko
Subject: [DISCUSSION] Scripts and menus
Date: Sun, 14 Aug 2005 11:18:11 +0200
User-agent: Mozilla Thunderbird 1.0.2-1.3.2 (X11/20050324)

IMHO. Current system with title command is ugly because:
    -grub.cfg requires the separate parser. IMHO it should be
parsed the same way as user input.
    -Even when scripting support will be ready it's impossible
to create multiple menus of the same kind by just a loop
(like
    for x in /boot/vmlinuz-*;
       do
          menuitem name="linux-$x" title="Linux with kernel $x"
             linux $x [....]
          endmenuitem;
       done;
)
    - if in future menu entrys will have more parameters
    (e.g: name, keyboard shortcut) how could we specify them?

As arisen in discussion about serial console multiple menus could be
useful. I propose to split munu.c in general (e.g: run_entry) and
menu-specific (like run_menu) and then make multiple menu support like
done with terminals. Then we could add other menus: like lilo menu
(additional parameters could be stored in variable: then boot function
could also look at this variable for parameters (of course parameters from
unauthorized users will be ignored)), vesa menu
(and 3rd party programmers could write vesa menus then it would be like
skin support), x-menu over ssh/network, ...

IMHO grub2 needs scripting support to be more powerful I propose to
use bison translating commands in the structures like:
struct command
{
    enum type {SCRIPT_CMD_NORMAL, SCRIPT_CMD_IF, [...]}; /* type of
command*/
    enum link {SCRIPT_LINK_NORMAL, SCRIPT_LINK_AND, [...]}; /* Was there
a &&, ||, ... before command?*/
    union
    {
       char *command;
       struct command *if_jump; /* Bison could translate the condition
as preceding command*/
       [...]
    }  
};

then menu-entrys could be
menuentry name=<name> title=<title> [key-shortcut=<..>] [picture=<...>]
    <....>
endmenuentry

I'm ready to make the work of menu-splitting, lilo-menu and scripting

What do you think about it?

                                                                        
                  Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]