LUA boot loader coming very soon
Kris Moore
kris at ixsystems.com
Mon Feb 12 16:46:10 UTC 2018
On 02/12/2018 11:31, Warner Losh wrote:
>
>
> On Mon, Feb 12, 2018 at 9:26 AM, Kris Moore <kris at ixsystems.com
> <mailto:kris at ixsystems.com>> 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 at freebsd.org <mailto:freebsd-current at freebsd.org>
> mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-current
> <https://lists.freebsd.org/mailman/listinfo/freebsd-current>
> > To unsubscribe, send any mail to
> "freebsd-current-unsubscribe at freebsd.org
> <mailto:freebsd-current-unsubscribe at 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
More information about the freebsd-current
mailing list