From owner-freebsd-current@FreeBSD.ORG Tue Nov 12 01:15:29 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CD5875E7; Tue, 12 Nov 2013 01:15:29 +0000 (UTC) Received: from smtpauth4.wiscmail.wisc.edu (wmauth4.doit.wisc.edu [144.92.197.145]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6893521AC; Mon, 11 Nov 2013 23:57:14 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth4.wiscmail.wisc.edu by smtpauth4.wiscmail.wisc.edu (Oracle Communications Messaging Server 7u4-27.01(7.0.4.27.0) 64bit (built Aug 30 2012)) id <0MW400I00FPX5100@smtpauth4.wiscmail.wisc.edu>; Mon, 11 Nov 2013 16:57:07 -0600 (CST) X-Spam-PmxInfo: Server=avs-4, Version=6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.11.11.224515, SenderIP=0.0.0.0 X-Spam-Report: AuthenticatedSender=yes, SenderIP=0.0.0.0 Received: from comporellon.tachypleus.net (adsl-76-208-69-44.dsl.mdsnwi.sbcglobal.net [76.208.69.44]) by smtpauth4.wiscmail.wisc.edu (Oracle Communications Messaging Server 7u4-27.01(7.0.4.27.0) 64bit (built Aug 30 2012)) with ESMTPSA id <0MW400BP8FR5QA00@smtpauth4.wiscmail.wisc.edu>; Mon, 11 Nov 2013 16:57:07 -0600 (CST) Message-id: <528160C1.4090501@freebsd.org> Date: Mon, 11 Nov 2013 16:57:05 -0600 From: Nathan Whitehorn User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.0 To: Devin Teske Subject: Re: Default MBR boot "manager" References: <33391A36-2E7A-473B-87E0-88BDE1AC97D1@fisglobal.com> <52814CD8.5020708@freebsd.org> <236424BC-EC62-4FDC-B9F6-E08653FF2F4B@fisglobal.com> <52814F68.2090504@freebsd.org> <8C7FE7C5-3F51-4748-B242-8DA93F441684@fisglobal.com> In-reply-to: <8C7FE7C5-3F51-4748-B242-8DA93F441684@fisglobal.com> Cc: Current Current , "Teske, Devin" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Nov 2013 01:15:30 -0000 On 11/11/13 15:51, Teske, Devin wrote: > On Nov 11, 2013, at 1:43 PM, Nathan Whitehorn wrote: > >> On 11/11/13 15:39, Teske, Devin wrote: >>> On Nov 11, 2013, at 1:32 PM, Nathan Whitehorn wrote: >>> >>>> On 11/11/13 15:19, Teske, Devin wrote: >>>>> Topic: Lenovo Laptops and bsdinstall zfsboot with MBR layout... >>>>> >>>>> Should we do the quick patch to change the default >>>>> from /boot/boot0 to /boot/mbr: >>>>> >>>>> Index: zfsboot >>>>> =================================================================== >>>>> --- zfsboot (revision 258016) >>>>> +++ zfsboot (working copy) >>>>> @@ -764,7 +764,7 @@ zfs_create_diskpart() >>>>> # >>>>> f_eval_catch $funcname gpart "$GPART_CREATE" mbr \$disk || >>>>> return $FAILURE >>>>> - f_eval_catch $funcname gpart "$GPART_BOOTCODE" /boot/boot0 \ >>>>> + f_eval_catch $funcname gpart "$GPART_BOOTCODE" /boot/mbr \ >>>>> \$disk || return $FAILURE >>>>> >>>>> # >>>>> >>>>> That would fix things for Lenovo laptops for the next >>>>> release until I finish up the bootcode selection menu. >>>>> I'd like to take my time in making sure Allan and I design >>>>> a worthy bootcode selection menu. >>>> This patch looks good (I don't remember why it was boot0 in the first place). I think gpart automatically installs something like /boot/mbr by default, so I'd be interested to know if making the diff purely negative still works. >>>> >>>> On another note, I think we should move away from a selector. Right now, we have three kinds of boot code: >>>> 1. ZFS boot code >>>> 2. UFS boot code >>>> 3. boot0 >>>> >>>> Unifying 1 and 2 would help a lot -- I don't know of any reason we need both except for tradition. #3 is probably best done as a post-install config step ("Install FreeBSD boot manager" or something), which also means it works for UFS systems. >>> Well, I'm sensitive to the fact that sysinstall offered "none" and >>> even explained why in an F1 dialog that brought up "drives.hlp" >>> to explain that you might want to keep whatever (alternate) boot >>> manager you may be using already. >>> >>> In a proposed selector, the full breadth of options that I was >>> envisioning was: >>> >>> GPT + gptboot >>> GPT + none (use your existing boot manager... syslinux?) >>> MBR + mbr >>> MBR + boot0 >>> MBR + none (again, BYOBM) >>> >>> Hadn't got around to zfsboot yet. Where would that go? at the top? >>> >>> GPT + zfsboot ? >>> >>> (and of course, this is x86 specific... I was gleaning from sysinstall >>> that for systems like pc98, they call it an IPL and there's only two >>> options... a standard IPL or bring your own boot manager, aka "none"). >>> >>> I imagine that there would be architectures that are like the ol' pc98, >>> wherein they don't have all these options (is, for example? sparc64 >>> GPT only?) >> This would be super-unportable. SPARC uses VTOC8, for example, and doesn't support GPT at all. PC98 has the differences you mentioned. PowerPC uses MBR sometimes, sometimes APM, sometimes GPT. You never have a choice. No platforms except x86 have any analog to boot0. Etc, etc. This is why I'd like to pull ZFS into partedit, which already knows how to set up everything and does the right thing everywhere. For the only system (x86) where there is a real choice (do you want to replace whatever you have already with boot0?), it makes sense to do this as a post-install config. > Two migration paths before us, and I do rather like the idea of > benefiting from all your work there. > > My biggest concern is how to maximize functionality in the > migration of the ZFS stuff to partedit. > > You know the code better there better than I, ... have you given > much thought to how you might integrate what we've done? Some, though not as much as it deserves. The general idea would be to treat ZFS as a kind of partitioning. I don't think we can realistically expose all ZFS features through the installer. > It's sad that we would be giving up i18n, X11, and discrete > scripting (surely there are more parts to ZFS than what partedit > supports now -- e.g., datasets, etc.). > > Naturally, the scripting can be solved. i18n is a bit harder to > solve as it's a "start from the bottom" venture. And I fear X11 is > a lost cause in its current state for partedit. This is a pity. I'm not sure what to do there. Would be nice to have something libdialog-alike for X, but that leaves all these other issues too. One option would be to factor out the important bits of partedit longer-term, similar to the way to the scripting interface exists now (e.g. format this disk with these partitions, make the first one bootable, I don't care how it's done) and then call that from something prettier. Interactivity and the complexity of the things you can do with GEOM makes doing that fully hard, however (even the existing functionality ended up requiring kernel patches). -Nathan