From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1K24Rs-0003X9-Fk for mharc-grub-devel@gnu.org; Fri, 30 May 2008 09:15:12 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K24Rq-0003W8-Oh for grub-devel@gnu.org; Fri, 30 May 2008 09:15:10 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K24Rp-0003Ve-3H for grub-devel@gnu.org; Fri, 30 May 2008 09:15:10 -0400 Received: from [199.232.76.173] (port=34254 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K24Ro-0003Va-PE for grub-devel@gnu.org; Fri, 30 May 2008 09:15:08 -0400 Received: from aybabtu.com ([69.60.117.155]:60086) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K24Ro-0001Q1-Gl for grub-devel@gnu.org; Fri, 30 May 2008 09:15:08 -0400 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1K24RN-0003Dd-Ag for grub-devel@gnu.org; Fri, 30 May 2008 15:14:41 +0200 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1K24RZ-0000Gx-37 for grub-devel@gnu.org; Fri, 30 May 2008 15:14:53 +0200 Date: Fri, 30 May 2008 15:14:53 +0200 From: Robert Millan To: The development of GRUB 2 Message-ID: <20080530131453.GA962@thorin> References: <20080529151336.GA6158@thorin> <20080529181709.GA26058@thorin> <20080530104115.GA21035@thorin> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20080530104115.GA21035@thorin> Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: [PATCH] UUID support X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 May 2008 13:15:11 -0000 On Fri, May 30, 2008 at 12:41:15PM +0200, Robert Millan wrote: > > > > Here are some thought about how to store it. We can reuse the space > > occupied by prefix. Instead of one variable, we use zero-end strings > > like: > > > > path=/boot/grub \0 uuid=xxx-xxx-xxxx \0 \0 > > > > We can also add other variable, for example, debug and default. debug > > is useful as it can show message before grub.cfg is loaded, and > > default is used to control the default menu entry. Other variable > > should be set in grub.cfg, as space is quite limited here. > > > > path=/boot/grub \0 uuid=xxx-xxx-xxxx \0 debug=all \0 default=1 \0 \0 > > > > The space need to expand slightly, I guess something about 100 byte is > > more than enough. The whole block is prefixed by a magic number and > > block length, so that it's easy to locate by utility. > > > > This also solve the savedefault issue, we can add a command like this: > > > > save_env /path_to_core.img variable_name .. > > > > It finds the magic number, and store the value of selected variable in > > the embedded environment block. > > Then I suppose we could have a module that gets $uuid from environment and > searches for it to set $prefix? However, a problem with this is that it only works for i386-pc, untill we define a way to store this for each variant. Perhaps we could instead use memdisk to store it? Rather than put a grub.cfg in memdisk, which would require builtin normal.mod, we could put a simpler file (let's call it 'env') with initial environment, in the binary format you describe. Does that work? Then to support it in other platforms, we just need to implement memdisk in them. -- Robert Millan I know my rights; I want my phone call! What good is a phone call… if you are unable to speak? (as seen on /.)