grub-devel
[Top][All Lists]
Advanced

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

Re: Proposal for savedefault implementation


From: Bean
Subject: Re: Proposal for savedefault implementation
Date: Sat, 22 Mar 2008 15:23:24 +0800

On Sat, Mar 22, 2008 at 2:36 PM, Pavel Roskin <address@hidden> wrote:
> On Fri, 2008-03-21 at 19:31 +0800, Bean wrote:
>  > Hi,
>  >
>  > I'm think about the following implementation, please see if it's all right.
>  >
>  > Config information is saved in a file named `defaults' in the grub
>  > directory, it's format is something like this:
>
>  It would be great not to hardcode the name, or at least make it possible
>  to override the name.

yes, we can optionally use a filename parameter:

load_exports [FILE]
save_exports [FILE]

It's even better if we don't use hardcode name at all, but due to a
bug in lexer, we can't do this:

load_exports ${prefix}/defaults

it's just not easy to specify a file in the grub directory.

>
>
>  > GRUBENV \0
>  > key1=value1 \0
>  > key2=value2 \0
>  > ...
>  > keyN=valueN \0 \0
>  >
>  > This file should be at least 8192 bytes, this should be ok for most file 
> system.
>
>  Why this number?  Is it to avoid some filesystem issues, like tail
>  packing?  Or is it just to ensure that there is enough space for the
>  variables?
>

it's used to avoid tail packing.

>
>  > In grub2, we use load_exports to load global variables, and
>  > save_exports to save them. For example:
>  >
>  > load_exports
>  >
>  > menuentry "aa" {
>  >   default=0
>  >   export default
>  >   save_exports
>  > }
>
>  It feels too verbose to me.  I think "export default=0" could do all
>  three operations at once.  Also, "default" or some other variable should
>  be set to the menu entry number automatically, so that the entries don't
>  need to be renumbered every time.
>
>

Currently, the export command of grub2 doesn't support usage like
"export default=0", but it's trivial to add this feature.

i agree that the menu entry should be set automatically, and perhaps
the title is better than plain number. we can store the current menu
selection in a global variable like menu_title.

>  > we can also add a new tool such as grub-editenv to edit the config
>  > file.
>
>  Maybe I'm too obsessed with safety, but that tool should also check that
>  the "default" file is located in a place that is safe for GRUB to use.
>

It's a good idea.

-- 
Bean




reply via email to

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