From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1NWZlQ-00047P-QO for mharc-grub-devel@gnu.org; Sun, 17 Jan 2010 13:22:16 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NWZlP-000475-GR for grub-devel@gnu.org; Sun, 17 Jan 2010 13:22:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NWZlL-00046G-NW for grub-devel@gnu.org; Sun, 17 Jan 2010 13:22:15 -0500 Received: from [199.232.76.173] (port=42611 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NWZlL-000467-KU for grub-devel@gnu.org; Sun, 17 Jan 2010 13:22:11 -0500 Received: from xvm-190-8.ghst.net ([217.70.190.8]:48727 helo=aybabtu.com) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NWZlL-0002sk-7Z for grub-devel@gnu.org; Sun, 17 Jan 2010 13:22:11 -0500 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtp (Exim 4.69) (envelope-from ) id 1NWZlF-000802-QI for grub-devel@gnu.org; Sun, 17 Jan 2010 19:22:06 +0100 Received: from rmh by thorin with local (Exim 4.69) (envelope-from ) id 1NWZlF-0002Wc-7q for grub-devel@gnu.org; Sun, 17 Jan 2010 19:22:05 +0100 Date: Sun, 17 Jan 2010 19:22:05 +0100 From: Robert Millan To: The development of GNU GRUB Message-ID: <20100117182205.GA9602@thorin> References: <4B4F4C05.8070003@gmail.com> <20100115161507.GA22087@thorin> <4B5350A8.5040108@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4B5350A8.5040108@gmail.com> 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.18 (2008-05-17) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: Re: [multiboot] command-line format X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jan 2010 18:22:15 -0000 On Sun, Jan 17, 2010 at 07:02:16PM +0100, Grégoire Sutre wrote: > However, my first post in this thread was more about the multiboot > specification itself. In light of your explanations, I would re-phrase > my suggestion as follows: in the multiboot specification, require that > the first argument of the MB command-line be a path to the booted file > *in a notation that is specific to the booted kernel*. Or, if this is > too constraining or too confusing, simply ask that the first argument is > an informative string that does not contain kernel options (i.e. it can > safely be skipped). This way, the specification would be closer to the > reference implementation (GRUB Legacy), and, more importantly, to what > multiboot-compliant kernels already *assume* about the format of the > command-line (NetBSD, OpenSolaris, Xen, others?). I really don't think this is something that should be *mandated* by the spec, specially not for legacy compatibility reasons. Also, how is a bootloader supposed to know about a notation specific to the booted kernel? GRUB doesn't have the slightest clue how kernels name their devices, and it shouldn't; OTOH the environment who generated grub.cfg knows all the details. But we could add a note saying that even if it's not required, the behaviour of using first parameter this way is widespread. > For GRUB 2, this could be implemented by a multiboot command that, by > default, behaves as GRUB Legacy, but also offers a way to modify the > implicit first argument of the multiboot command-line. Something like: > > multiboot $path[;$ospath] ... > > (a) $path is the GRUB path to the booted file. > (b) $ospath is the path that shall be passed to the booted file. > > By default, if there is no ';' in the first argument, $ospath is set to > the value that GRUB Legacy would have used. Maybe a GRUB shell variable > `multiboot_ospath' would be better than this ';' marker. I'm sorry, but I don't think this kind of UI complexity benefits users. Also, I firmly believe that we shouldn't be satisfied with flawed solutions just because they're part of our legacy baggage. We can do better than this because Free Software is more flexible and more powerful. For example, NetBSD can distribute its own version of GRUB and patch it, and coordinate an interface change between GRUB and its kernel, etc. We're not like BIOS vendors + Microsoft which are stuck with 40-year-old crappy interfaces because neither of them has the flexibility to change each others' implementation. It would almost be funny if it wasn't because they managed to put their i8086-encumbered legacy in every modern machine around the world. -- Robert Millan "Be the change you want to see in the world" -- Gandhi