From owner-freebsd-current@freebsd.org Mon Feb 12 16:46:10 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C91C4F071AD for ; Mon, 12 Feb 2018 16:46:09 +0000 (UTC) (envelope-from kris@ixsystems.com) Received: from mail-yw0-x233.google.com (mail-yw0-x233.google.com [IPv6:2607:f8b0:4002:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 54FF27E423 for ; Mon, 12 Feb 2018 16:46:09 +0000 (UTC) (envelope-from kris@ixsystems.com) Received: by mail-yw0-x233.google.com with SMTP id t129so10296445ywc.3 for ; Mon, 12 Feb 2018 08:46:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ixsystems-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=hDwBert6y6z7lSwt9k0PdphDXMUdNBn7mKuoD/2TpMU=; b=0LFkvjxchsJl+b8VHvbqs2zA7b/e4HMEo6zW+kkaHsX59ZNuSOvJrnTfysE6/+ICaR 6am688ZzsNr20QSLzy9n6Grzs2J8vVrWlA9Umg2a8cNwlYSriCPEPqqOI9C8Ldrfayn3 rER46aQN6ixQ/sYnhdb4DPfkhd4Pavhk9b4ZqA6cB85JcpOCLh3vTNnv2ZK9xnCRHkUC i8C08v25xHSJlpnfjgf4MRR9dVBcdziSijvZRtg1ZOosV1Qnwa7R1JqsVgw+5+kOa8aj SpbcePgx3Ckx5yYYV1FYPEB4MFIlPiuAAYl0ZjolBmPIOBuCM3ue9YfUYGc3suxpttzZ xsew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=hDwBert6y6z7lSwt9k0PdphDXMUdNBn7mKuoD/2TpMU=; b=LYWQq16k3JICql2/drRV3V0IoJe9mPsS5hzVtrl/U+rfFKxaOLeVJ4iuMT8L65Ac2L QQmIunwkEuL0MRsJRcMSP1Z+eo0s8cvnTvJaredIQd2zAPiRrCtwejllCQTErhxHHwCQ DvVp4Gd/JBhtUGSyyZhv4hCQNfhzI6spivlNMicMjqBUDmR2r06cJAsTQR3pnH85jd7K ELjWq4xWzFxRPG80GYn/kU5Hjcv34qFwdkKCuoULpMuBVhnAuC3Q5M8tD3eCZYOe8EQc alltqJISMnrohOLIu2icUUnKpxHGD/C54fjfDnIq6DjvJxlhK3qplVUNfC3feWgmnYHI L0Vw== X-Gm-Message-State: APf1xPC/yoXBEm6Qc2QEl3AuvPxtE4zjUZGH89bH1zx0cyOhYJYjbmfu 9RWDD1dCjND0Y6/GmAcDfccKkhccLniv+hEEZ7owphk3YU1H4M9ZYv7Pu0gGrbDXZEfnnAaIbY8 xqTJj1IIviRAGFWoa1I6M709BnRf/peSlMHUQkGaSqOOJB9TTP8iuh+ZDczlgs1+3O6AB X-Google-Smtp-Source: AH8x224Qxv8tLB++oKnsjh08XFcMTuMYoEnR/CVwprd3W3Lk5sbTfQYxvQ8Jxguqbqe9+sPg0t377Q== X-Received: by 10.129.131.196 with SMTP id t187mr4969652ywf.403.1518453968358; Mon, 12 Feb 2018 08:46:08 -0800 (PST) Received: from [10.231.2.154] ([12.164.17.129]) by smtp.gmail.com with ESMTPSA id c13sm3483746ywm.74.2018.02.12.08.46.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Feb 2018 08:46:07 -0800 (PST) Subject: Re: LUA boot loader coming very soon To: Warner Losh Cc: FreeBSD Current References: <741cdd4f-c4f3-5909-26a9-4cc8f5231eea@ixsystems.com> From: Kris Moore Message-ID: <623bcb5c-8ddb-4d38-7826-0c9e344502a3@ixsystems.com> Date: Mon, 12 Feb 2018 11:45:28 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.25 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: Mon, 12 Feb 2018 16:46:10 -0000 On 02/12/2018 11:31, Warner Losh wrote: > > > On Mon, Feb 12, 2018 at 9:26 AM, Kris Moore > wrote: > > On 02/12/2018 10:27, Warner Losh wrote: > > Greetings, > > > > As you may know, the Lua (http://www.lua.org) boot loader has > been in the > > works for some time. It started out life as a GSoC in 2014 by > Pedro Souza > > mentored by Wojciech A. Koszek. Rui Paulo created a svn project > branch to > > try to integrate it. I rebased that effort into a github branch > which Pedro > > Arthur fixed up. Over the past year, I've been cleaning up the > boot loader > > for other reasons, and found the time was ripe to start > integrating this > > into the tree. However, those integration efforts have taken a > while as my > > day-job work on the boot loader took priority. In the mean time, > Ed Maste > > and the FreeBSD Foundation funded Zakary Nafziger to enhance the > original > > GSoC Lua scripts to bring it closer to parity with the evolution > of the > > FORTH menu system since the GSoC project started. > > > > I'm pleased to announce that all these threads of development have > > converged and I'll be pushing the FreeBSD Lua Loader later > today. This > > loader uses Lua as its scripting language instead of FORTH. While > > co-existance is planned, the timeline for it is looking to be a > few weeks > > and I didn't want to delay pushing this into the tree for that. > > > > To try the loader, you'll need to build WITHOUT_FORTH=yes and > > WITH_LOADER_LUA=yes. Fortunately, you needn't do a full world to > do this, > > you can do it in src/stand and install the result (be sure to > have the > > options for both the build and the install). This will replace > your current > > /boot/loader that is scripted with FORTH to one that's scripted > with Lua. > > It will install the lua scripts in /boot/lua. The boot is > scripted with > > /boot/lua/loader.lua instead of /boot/loader.rc. You are > strongly advised > > to create a backup copy of /boot/loader before testing (eg cp > /boot/loader > > /boot/loader_forth), since you'll need to boot that from boot2 > if something > > goes wrong. I've tested it extensively, though, with userboot.so > and it's > > test program, so all the initial kinks of finding the lua > scripts, etc have > > been worked out. > > > > While it's possible to build all the /boot/loader variants with > Lua, I've > > just tested a BIOS booting /boot/loader both with and without menus > > enabled. I've not tested any of the other variants and the > instructions for > > testing some of them may be rather tedious (especially UEFI, if > you want a > > simple path to back out). Since there's not been full > convergence testing, > > you'll almost certainly find bumps in this system. Also, all the > > build-system APIs are likely not yet final. > > > > I put  MFC after a month on the commit. Due to the heroic (dare > I say > > almost crazy) work of Kyle Evans on merging all the revs from > -current to > > 11, I'm planning a MFC to 11 after the co-existence issues are > hammered > > out. In 11, FORTH will be the default, and Lua will  be built by > default, > > but users will have to do something to use it. 12, both FORTH > and Lua will > > be built and installed, with Lua as default (barring unforeseen > > complications). Once the co-existence stuff goes in, I imagine > we'll make > > the switch to Lua by default shortly after that. In 13, FORTH > will be > > removed unless there's a really really compelling case made to > keep it. > > > > So please give it a spin and give me any feedback, documentation > updates > > and/or bug fixes. I'm especially interested in reviews from > people that > > have embedded Lua in other projects or experts in Lua that can > improve the > > robustness of the menu code. > > > > Warner > > _______________________________________________ > > freebsd-current@freebsd.org > mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-current > > > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org > " > > Warner & Co, > > Great job all! Been wanting this for years, very excited to see it > start > landing :) > > One question, if we switch to Lua loader in TrueOS, do you know if the > ZFS boot-environment menus have been implemented / tested yet? > > > I don't think that they have been implemented yet. I've certainly not > tested them. > > Warner  > Ok, I'll have to mess about with it. I recall there was some library which created to expose ZFS in limited functionality over to the FORTH code. That's probably a good place to start and see if that still works and Lua can probe the pool for BE information. -- Kris Moore Vice President of Engineering iXsystems Enterprise Storage & Servers Driven By Open Source