From owner-freebsd-current@FreeBSD.ORG Mon Oct 21 19:04:39 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id EFCEB248; Mon, 21 Oct 2013 19:04:39 +0000 (UTC) (envelope-from Devin.Teske@fisglobal.com) Received: from mx1.fisglobal.com (mx1.fisglobal.com [199.200.24.190]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7D21F2DC1; Mon, 21 Oct 2013 19:04:39 +0000 (UTC) Received: from smtp.fisglobal.com ([10.132.206.15]) by ltcfislmsgpa07.fnfis.com (8.14.5/8.14.5) with ESMTP id r9LJ4cEh011855 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 21 Oct 2013 14:04:38 -0500 Received: from LTCFISWMSGMB21.FNFIS.com ([169.254.1.214]) by LTCFISWMSGHT04.FNFIS.com ([10.132.206.15]) with mapi id 14.02.0309.002; Mon, 21 Oct 2013 14:04:37 -0500 From: "Teske, Devin" To: Kris Moore Subject: Re: BE Loader Menu (was Re: rcs) Thread-Topic: BE Loader Menu (was Re: rcs) Thread-Index: AQHOxRG5GlF59UAvJ06VyRjwWpYzrQ== Date: Mon, 21 Oct 2013 19:04:36 +0000 Message-ID: <13CA24D6AB415D428143D44749F57D720FC90C14@LTCFISWMSGMB21.FNFIS.com> References: <60177810-8DC4-4EA3-8040-A834B79039D2@orthanc.ca> <52538EDC.2080001@freebsd.org> <52541202.3010707@mu.org> <20131008.170444.74714516.sthaug@nethelp.no> <52542BD4.5070706@FreeBSD.org> <52542E1D.9000000@mu.org> <52555D1C.8010407@freebsd.org> <52558577.5020401@allanjude.com> <52558779.2070203@pcbsd.org> <13CA24D6AB415D428143D44749F57D720FC4B2A3@LTCFISWMSGMB21.FNFIS.com> <5256D08F.5060101@freebsd.org> <13CA24D6AB415D428143D44749F57D720FC50D64@LTCFISWMSGMB21.FNFIS.com> <5256D8E9.10200@freebsd.org> <13CA24D6AB415D428143D44749F57D720FC7ADA3@LTCFISWMSGMB21.FNFIS.com> <52647C4C.8010706@freebsd.org> <52652CFD.1080803@pcbsd.org> In-Reply-To: <52652CFD.1080803@pcbsd.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.132.253.121] Content-Type: text/plain; charset="iso-8859-1" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.10.8794, 1.0.431, 0.0.0000 definitions=2013-10-21_03:2013-10-21,2013-10-21,1970-01-01 signatures=0 Cc: Devin Teske , "Teske, Devin" , FreeBSD Current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Devin Teske List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Oct 2013 19:04:40 -0000 On Oct 21, 2013, at 6:32 AM, Kris Moore wrote: > On 10/20/2013 20:58, Julian Elischer wrote: >> Kris. exactly what features need to be added to the boot process to >> allow >> what you want to do, but without using grub? >>=20 >=20 > Here's a list of the features we are using from grub: >=20 > For install medium: >=20 > * Hybrid DVD ISO/USB image in same file I've been using ISOLINUX for that functionality since 2006. My DRUID installer is shipped as a hybrid ISO using ISOLINUX. > * BIOS / UEFI loaders on same image Haven't played with UEFI yet. > * Graphics support ISOLINUX has that. Can we compare screens? I really like the way ISOLINUX's vesamenu.c32 module allows you to even go so far as to customize the scrollbar coloring (e.g., in the below image, notice how I've given the scrollbar a blue color so it completes the theme). http://twitpic.com/17z5yi Compare that to the same menu, but previously themed in blue: http://twitpic.com/17xas6 I wonder if grub lets you do that (scrollbar color, hilite color, and color of header/footer text as well). > For installed system: >=20 > * Script-able ZFS BE menus This can be achieved in loader(8) with some basic work, building upon what we already have. Around this time last year, I actually added code to allow scripting of the loader(8) menu, but said functionality is still unused (waiting for some userland tool or some C code integrated directly into loader(8) to actually start scripting the menu-system. Until that happens... it's just my little secret that the Forth menus are actually scriptable from a higher language. (been trying for years it seems to find someone whom cares to sit down and show them how it works -- maybe at vBSDcon). > * Options for setting default timeouts / default BEs to load, etc I don't see why this too couldn't be done with loader(8). We already have a timeout system for booting with defaults... and I gather that whatever scripting there is to change the loaded defaults would take place prior to reboot (some tool munges loader.conf and then reboots; current defaults are displayed and after the configured timeout, it boots with the displayed configuration). > * Script-able menu to boot other OS's, such as Windows / Linux Well, I use SYSLINUX for that. SYSLINUX is the same product as the aforementioned ISOLINUX, except that it's focused on system versus install media. Of course... in your case, grub loads FreeBSD directly. When I use syslinux as a bootloader, I get the FreeBSD Forth beastie menu after selecting FreeBSD from the syslinux vesamenu. > * Loads before kernel Yeah, I got patches for our menu to follow suit. http://druidbsd.cvs.sf.net/viewvc/druidbsd/forth_zfs/ (thinking abut committing it already) > * Graphics support (I.E. countdown indicator, wallpapers, arrow-key > support, etc) >=20 Well, I don't think the countdown indicator is going to get anyone all too excited (I believe we've had that for years). The wallpapers of course... can't do those as a default, but I think there's a graphical loader project -- but of course that won't service serial boot. I've thought about using arrow keys to navigate before... It involves implementing a whole new layer on top of the menu. One that would use some static character (e.g., ">") to show you which item you are "over" (or in the case of color... we could *maybe* use ANSI reverse). Definitely not easy. New state machine would be required. New rendering code would be required as well. The good news though is that it would get rid of the number prefixes). > If the native loader is able to handle the ZFS BE stuff, then I don't > see a reason why I can't make it an option in the installer, even > without graphics and the other niceties that grub brings. Is this > working in the stable/10 branch now? >=20 No... just the patchset I pointed to... http://druidbsd.cvs.sf.net/viewvc/druidbsd/forth_zfs/ Which produces the following: http://twitpic.com/dhv2b6 Which achieves: a. Don't load kernel before menu b. Scripting of selections can be done via $kernels in loader.conf What we are lacking at the moment is... Root Device selection menu. --=20 Devin _____________ The information contained in this message is proprietary and/or confidentia= l. If you are not the intended recipient, please: (i) delete the message an= d all copies; (ii) do not disclose, distribute or use the message in any ma= nner; and (iii) notify the sender immediately. In addition, please be aware= that any message addressed to our domain is subject to archiving and revie= w by persons other than the intended recipient. Thank you.