From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1MJDMz-0003FA-9y for mharc-grub-devel@gnu.org; Tue, 23 Jun 2009 17:17:33 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJDMw-0003BT-Vh for grub-devel@gnu.org; Tue, 23 Jun 2009 17:17:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJDMs-00037p-4i for grub-devel@gnu.org; Tue, 23 Jun 2009 17:17:30 -0400 Received: from [199.232.76.173] (port=40950 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJDMr-00037m-W8 for grub-devel@gnu.org; Tue, 23 Jun 2009 17:17:26 -0400 Received: from c60.cesmail.net ([216.154.195.49]:27031) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.60) (envelope-from ) id 1MJDMr-0002Cz-De for grub-devel@gnu.org; Tue, 23 Jun 2009 17:17:25 -0400 Received: from unknown (HELO smtprelay2.cesmail.net) ([192.168.1.112]) by c60.cesmail.net with ESMTP; 23 Jun 2009 17:17:24 -0400 Received: from [192.168.0.22] (static-72-92-88-10.phlapa.fios.verizon.net [72.92.88.10]) by smtprelay2.cesmail.net (Postfix) with ESMTPSA id A67D634C6A for ; Tue, 23 Jun 2009 17:23:42 -0400 (EDT) From: Pavel Roskin To: The development of GRUB 2 In-Reply-To: <20090623115027.GC24028@thorin> References: <20090622234859.GA16795@thorin> <1245721895.809.18.camel@mj> <20090623115027.GC24028@thorin> Content-Type: text/plain Date: Tue, 23 Jun 2009 17:17:22 -0400 Message-Id: <1245791842.3204.8.camel@mj> Mime-Version: 1.0 X-Mailer: Evolution 2.26.2 (2.26.2-1.fc11) Content-Transfer-Encoding: 7bit X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: [PATCH] search -d|--disk 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: Tue, 23 Jun 2009 21:17:31 -0000 On Tue, 2009-06-23 at 13:50 +0200, Robert Millan wrote: > On Mon, Jun 22, 2009 at 09:51:35PM -0400, Pavel Roskin wrote: > > On Tue, 2009-06-23 at 01:48 +0200, Robert Millan wrote: > > > > > This patch adds an option to the search command to restrict the search of > > > a file to a given disk. It will then probe for the file in each of its > > > partitions, but not in other disks. > > > > First of all, it would be great is all proposals to add more code come > > with a possible use case. > > QEMU has a feature in which you can specify the boot drive from command > line (-boot parameter). After i386-qemu port is merged, I plan to add > some code to read this from CMOS and export it to some variable. > > When on GRUB, it is up to the user to decide what "boot this drive" means. > An interesting option is to search for a specific file in the disk we're told, > and then act upon it (e.g. configfile /grub.cfg, multiboot /grub.elf, > linux /vmlinuz, whatever). I think the convention is to load the first sector of the disk. I don't think it's necessary to invent anything extra. Maybe we could pass environment variables using some qemu facility. > > We are approaching the point when grub with > > all modules would become too big to some boot partitions. > > Yes. Note that search.mod is not included in i386-pc's core.img, though. I know. But we are already at the point where the full GRUB install cannot coexist with yaboot on a standard 1Mb boot partition on PowerMAC. > > "VAR" should be "DISK". > > > > "in this disk" should be "on this disk" (disclaimer: English is not my > > native language). > > > > "and its partitions" seems excessive to me. If the disk has partitions, > > of course that where we would look. > > Ok. > > > The implementation is not working: > > > > sh:grub> search -d foo -l / > > hd0,3 > > > > I hope that it would be possible to specify a partition for the disk, so > > that we easily can look e.g. for a partition with label "/" on a disk > > with a partition containing "/boot/grub/grub.cfg". > > I implemented it only for files. It's trivial to do it for labels/uuids > too, but it's annoying because doing so results in code duplication. Yes, it's annoying, but partial implementations are annoying to the end users. Perhaps it should be possible to implement disk filtering using the mechanism used to skip floppies. > In general, there's a lot of code duplication in search.mod. I recently > tried to diminish that by merging search_label() with search_fs_uuid() but > it's still far from ideal. > > Any suggestions on what to do about this? For the boot disk selection, it's better to follow BIOS conventions. As for the advanced scripting, it can be done in lua. -- Regards, Pavel Roskin