1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Lua Scripting Support Being Added To NetBSD Kernel

BSD

Published on 14 February 2013 09:24 AM EST
Written by Michael Larabel in BSD
18 Comments

Support for the Lua scripting language is being added to the NetBSD kernel so that it's possible to interact with the BSD kernel's various subsystems using this popular scripting language. With a Lua interpreter being added to the kernel, it's even possible to extend the kernel's subsystems in this scripting language.

Support for NetBSD kernel scripting using Lua has been an ongoing project that dates back to 2010 with the "Lunatik" project originating from that year's Google Summer of Code. The original work involved porting a Lua scripting language interpreter into the NetBSD kernel, a kernel programming interface that supports extending kernel subsystems in Lua, and a interface exposed to user-space for loading Lua scripts inside the kernel. This will certainly spark mixed views on a scripting language for the kernel, aside from security concerns.

From the 2010 work there's a few more details within the SourceForge Luakern project, but is since outdated. Earlier this month at FOSDEM 2013, Marc Balmer talked about Lua for the NetBSD kernel.

The "Lua in the kernel" project fell into an unmaintained state in 2012, but is being revived and will actually be merged. For those not familiar with the Lua programming language, it's a scripting language that's extensible, written in ISO C, and has a fairly straightforward C API. Lua has found itself widely adopted from being used within the VLC Media Player to video games as the scripting language to the Apache HTTP server. Now support is heading into the NetBSD kernel for Lua.

Lua Scripting Support Being Added To NetBSD Kernel

Marc Balmer is a long-time *BSD developer and is the founder of the Swiss-based Micro Systems. His slides about his FOSDEM 2013 presentation of Lua going into the kernel can now be found on FOSDEM.org while embedded below are some of the most interesting points.

Lua Scripting Support Being Added To NetBSD Kernel

Among the expressed ideas for users with Lua in the NetBSD kernel is that "modifying software written in C is hard for users", with this scripting language there's the power for users to better modify and extend their systems, and users can explore the system in an easy way.

Lua Scripting Support Being Added To NetBSD Kernel

For developers, Lua allows for rapid application development approach to driver and kernel developer, modifying the system behavior in real-time, and configuration of kernel sub-systems through the scripts.

Lua Scripting Support Being Added To NetBSD Kernel

Rather than Lua, other language possibilities were Python and Java. Python is not difficult to integrate with C but has problems with being a huge library, memory consumption, and difficult object mapping. Java is easy to write but also poses problems with object mapping and memory might be an issue, but it's worked out before for driver development.

Lua Scripting Support Being Added To NetBSD Kernel

The 2010 GSoC project proved that the Lua virtual machine can run in the NetBSD kernel and the necessary infrastructure was added to the kernel. Support for Lua in the NetBSD kernel is soon to be merged to NetBSD "-current" and it should be part of NetBSD 7. Within the NetBSD user-land has already been Lua scripting support.

Lua Scripting Support Being Added To NetBSD Kernel

When running Lua code in the kernel it ends up being all in one address space and is accessible to all the same memory, but there are locking issues.

Lua Scripting Support Being Added To NetBSD Kernel

A look at how Lua integrates into the NetBSD kernel.

Lua Scripting Support Being Added To NetBSD Kernel

Fortunately, some security features for Lua code in the NetBSD kernel are being worked through.

It will be interesting to see if Lua scripting in the NetBSD kernel ends up being used much or if it is a feature just used as a toy and research. The release of NetBSD 7.0 is likely still more than one year away, but we'll keep monitoring the space of Lua scripting in the NetBSD kernel.

Read more of the Phoronix FOSDEM 2013 coverage.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Turning A Basement Into A Big Linux Server Room
  2. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  3. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  4. The New Place Where Linux Code Is Constantly Being Benchmarked
  5. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  6. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
Latest Linux News
  1. Linux 4.0-rc6 Kernel Released
  2. Automatically Managing The Linux Benchmarks Firing Constantly
  3. The Big Features Of The Linux 4.0 Kernel
  4. Mesa's Android Support Is Currently In Bad Shape
  5. Wayland's Weston Terminal Can Now Be Minimized
  6. Phoronix - Working Towards Faster Page Loads
  7. Improved OpenCL Support For Blender's Cycles Renderer
  8. Mesa 10.5.2 Packs In A Handful Of Fixes
  9. More Fedora/Ubuntu Linux vs. OS X OpenGL Benchmarks
  10. Intel Adds Mesa IR To NIR Translator & Makes Other NIR Improvements
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. Allwinner Continues Jerking Around The Open-Source Community
  3. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  4. Systemd Change Allows For Stateless Systems With Tmpfs
  5. GNOME 3.16 Released: It's Their Best Release Yet
  6. GNOME Shell & Mutter 3.16.0 Released
  7. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver
%%CLICK_URL_UNESC%%