Resources
Works about Lunatik, works that cite it, and Lua in other operating system kernels, newest first in each section. Each entry was opened at its source to read its title, authors, venue and year.
Talks and papers
Talks, papers and theses on Lunatik and on Lua in the NetBSD kernel.
- Scripting Netfilter with Lua: A Cooperative Kernel-Userspace Pipeline, Lourival Vieira Neto, Md. Shehar Yaar Tausif, Firas Shaari, Marcel S. A. de Moura, Arif Alam, Netdev 0x1A, Rome, 2026
- Lua in Kernel, Lourival Vieira Neto, Opportunity Open Source Conference, IIT Kanpur, 2024
- Lua no núcleo, Lourival Vieira Neto, Lua Workshop 2023, PUC-Rio (in Portuguese)
- Scripting the Linux Routing Table with Lua, Lourival Vieira Neto, Marcel Moura, Ana Lúcia de Moura, Roberto Ierusalimschy, Netdev 0x17, Vancouver, 2023
- Linux Network Scripting with Lua, Lourival Vieira Neto, Victor Nogueira, Ana Lúcia de Moura, Roberto Ierusalimschy, Netdev 0x14, 2020
- Scripting Linux system calls with Lua, Pedro Tammela, Lua Workshop 2018, Kaunas
- Safe browsing using Lua, Lourival Vieira Neto, Lua Workshop 2017, San Francisco
- Usando Lua em produtos de seguranca, Lourival Vieira Neto, LuaConf 2017 (in Portuguese)
- Lua no NetBSD, Lourival Vieira Neto, LuaConf 2016, PUC-Rio (in Portuguese)
- Lua on NetBSD: Scripting Operating Systems with Lua, Lourival Vieira Neto, BSDCon Brazil 2015
- NPF Scripting with Lua: Scripting the NetBSD Packet Filter with Lua, Lourival Vieira Neto, EuroBSDCon 2014, Sofia
- Scriptable Operating Systems with Lua, Lourival Vieira Neto, Roberto Ierusalimschy, Ana Lúcia de Moura, Marc Balmer, DLS 2014 (SPLASH), Portland
- Lua integration in NetBSD, Marc Balmer, Lua Workshop 2013, Toulouse
- The Lua Scripting Language in the NetBSD Kernel, Marc Balmer, FOSDEM 2013
- Lua in the NetBSD Kernel, Marc Balmer, FOSDEM 2012
- Lua in NetBSD, Marc Balmer, FOSDEM 2011, Brussels
- Lua in the NetBSD Kernel, Marc Balmer, Lua Workshop 2011, Frick, Switzerland
- Lunatik: Scripting de Kernel de Sistema Operacional com Lua, Lourival Vieira Neto, MSc dissertation, PUC-Rio, 2011 (in Portuguese)
- Repensando o Conceito de Sistema Operacional, Lourival Vieira Neto, Undergraduate project, PUC-Rio, 2008 (in Portuguese)
Articles
Posts and mailing list threads by the project.
- A Small Anecdote on Scriptable Operating Systems in Practice, Lourival Vieira Neto, Medium, 2026
- From the Kernel to the Moon (discussion), Lourival Vieira Neto and others, lua-l, 2025
- From the Kernel to the Moon: A Journey into Lunatik Bindings, Lourival Vieira Neto, Medium, 2025
- Is eBPF driving you crazy? Let it run Lunatik instead!, Lourival Vieira Neto, Medium, 2024
- setjmp/wrongjmp, Lourival Vieira Neto, Medium, 2024
- Lua in-kernel (lbuf library), Lourival Vieira Neto, NetBSD tech-kern, 2013
- Re: Lua-friendly OSes, Lourival Vieira Neto, Marc Balmer, lua-l, 2011
Google Summer of Code
Projects run by LabLua and The NetBSD Foundation on Lunatik and on Lua in the kernel.
- Lunatik eBPF Abstraction Demo, Ashwani Kumar Kamal, Google Summer of Code 2026, video
- Lunatik eBPF Abstraction Layer: TC, Scheduler binding and eBPF Maps, Ashwani Kumar Kamal, Google Summer of Code 2026, LabLua
- Lunatik binding for Human Interface Devices (HID) Drivers, Jieming Zhou, Google Summer of Code 2025, LabLua
- Google Summer of Code Experience, Mohammad Shehar Yaar Tausif, blog, 2024
- Lunatik binding for Netfilter, Mohammad Shehar Yaar Tausif, Google Summer of Code 2024, LabLua
- Lua Hook on kTLS, Xinzhe Wang, Google Summer of Code 2020, LabLua
- XDPLua, Victor Nogueira, Google Summer of Code 2019, LabLua
- Develop Socket API for Lunatik, Chengzhi Tan, Google Summer of Code 2018, LabLua
- Development of a RCU Binding for Lua tables, Caio Luiz Messias, Google Summer of Code 2018, LabLua
- Google Summer of Code 2018 Wrap Up, LabLua, PUC-Rio, 2018
- lua-netbsd: lua in kernel for netbsd, luainkernel, GitHub, 2016
- Google Summer of Code wrap-up: LabLua, Ana Lúcia de Moura, Google Open Source Blog, 2015
- luatests: NetBSD kernel Lua test suite, Guilherme Salazar, GitHub, 2015
- Port Lua Test Suite to the NetBSD Kernel, Guilherme Salazar, Google Summer of Code 2015, LabLua
- Lunatik: NetBSD kernel scripting with Lua (GSoC project results), Lourival Vieira Neto, NetBSD tech-kern, 2010
- Provide support for dynamic NetBSD kernel extensions using the Lua language, Lourival Vieira Neto, Google Summer of Code 2010, The NetBSD Foundation
Code and manuals
Repositories and manual pages that carry the work.
- luanftables: Lua binding for libnftables, Ring Zero Networks, GitHub, 2026
- Scripting Netfilter with Lua: measurement data, Lourival Vieira Neto, Md. Shehar Yaar Tausif, Firas Shaari, Marcel S. A. de Moura, Arif Alam, GitHub, 2026
- Conntrack and NAT Support in Lunatik, Mohammad Shehar Yaar Tausif, GitHub Gist, 2024
- NFLua, CUJO AI, GitHub, 2019
- ULP Lua (upper layer protocol for Lua scripting), Pedro Tammela, GitHub, 2019
- Announcing NetBSD 7.0, The NetBSD Project, 2015
- intro(9lua) - introduction to the Lua kernel bindings, NetBSD project, NetBSD manual pages, 2015
- lua(4) - control in-kernel Lua states, Marc Balmer, NetBSD manual pages, 2015
- luactl(8) - control kernel Lua states, Marc Balmer, NetBSD manual pages, 2015
- Pending NetBSD kernel Lua patches (lua(4) fixes, luadata kernel module, npf_ext_lua), Lourival Vieira Neto, netbsd.org, 2014
- CVS commit: src/sys/modules/lua (welcome lua(4)), Marc Balmer, NetBSD source-changes, 2013
- luadata (Lua data library), Lourival Vieira Neto, GitHub, 2013
- Lunatik – kernel scripting with Lua, Lourival Vieira Neto, SourceForge, 2009
Works that cite Lunatik
Papers, theses and talks by others that build on or cite this work.
- The evolution of Lua, continued, Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes, Journal of Computer Languages, 2025
- Specification and verification in the field: Applying formal methods to BPF just-in-time compilers in the Linux kernel, Luke Nelson, Jacob Van Geffen, Emina Torlak, Xi Wang, USENIX OSDI 2020
- Fast, Flexible Packet Filtering in NetBSD using Lua Kernel Scripts, Andrew von Dollen, EuroBSDCon 2018, Bucharest
- Melhoria de tempo na execução de workflows científicos distribuídos baseada na localização informada de arquivos, Pedro Mendonça Pinto Rocha, MSc thesis, PUC-Rio, 2018 (in Portuguese)
- Malacology: A Programmable Storage System, Michael A. Sevilla, Noah Watkins, Ivo Jimenez, Peter Alvaro, Shel Finkelstein, Jeff LeFevre, Carlos Maltzahn, EuroSys 2017
- secmodel_sandbox: An application sandbox for NetBSD, Stephen Herwig, BSDCan 2017
- GassyFS: An In-Memory File System That Embraces Volatility, Noah Watkins, Michael Sevilla, Carlos Maltzahn, UC Santa Cruz technical report, 2016
- Lua-Based Virtual Machine Platform for Spacecraft On-Board Control Software, Sihyeong Park, Hyungshin Kim, Soo-Yeong Kang, Cheol Hea Koo, Hyunwoo Joe, IEEE EUC 2015
- Running Application Specific Kernel Code by a Just-In-Time Compiler, Ake Koomsin, Yasushi Shinjo, PLOS 2015, Monterey
- What happens when a dwarf and a daemon start dancing by the light of the silvery moon?, Andrew Cagney, BSDCan 2015
- Ktap: A New Scripting Dynamic Tracing Tool For Linux, Zhang Wei, LinuxCon Japan 2013
- Lua Kernel Module ‘Lunatik’ modified for FreeBSD, Waitman Gobble, Lua Workshop 2012 (talk listed, not given)
- Towards Dynamic Scripted pNFS Layouts, M. Grawinkel, T. Süß, G. Best, I. Popov, A. Brinkmann, PDSW 2012
Press and community
News, discussions and projects built on Lunatik.
- Beyond Gaming: Lua in Security, Databases, and Kernel Programming, erayack, HackMD, 2025
- Lunatik v3.6 — релиз среды исполнения Lua в пространстве ядра Linux, LINUX.ORG.RU, 2025 (in Russian)
- Lunatik - инструментарий для создания в ядре Linux обработчиков на языке Lua, OpenNet, 2024 (in Russian)
- Lunatik: a framework for scripting the Linux kernel with Lua, Hacker News discussion, 2024
- Lunatik: a framework for scripting the Linux kernel with Lua, Thom Holwerda, OSnews, 2024
- snihook: SNI filter based on Lunatik, Jacques Peron, GitHub, 2024
- Testing the Lua kernel interpreter, JuvenalUrbino, UnitedBSD forum, 2021
- 0x14: Moonshot talk, Linux Kernel Network Scripting with Lua, Jamal Hadi Salim, Netdev people mailing list, 2020
- Lua in the kernel?, Jake Edge, LWN.net, 2020
- PacketScript overview: A Lua scripting engine for in-kernel packet processing, Shahriar, Rayanfam blog, 2019
- Moduły dynamiczne w kernelu NetBSD, Kamil Rytarowski, Programista 5/2015 (in Polish)
- Lua Scripting Support Added To NetBSD Kernel, Michael Larabel, Phoronix, 2013
- A Lua interpreter in the NetBSD kernel, Hacker News discussion, 2012
- luabod-lunatik: kernel module to run lua scripts (Lunatik modified for FreeBSD), Waitman Gobble, GitHub, 2012
- lunatik-ng: Linux Kernel Lua Scripting Engine, Dirk Bausch and others, GitHub, 2012
- PacketScript: packet mangling using the Lua scripting language, André Graf, GitHub, 2010
- The Lua Scripting Language, Marc Balmer, NetBSD blog, 2010
Related work
Lua and other languages in operating system kernels elsewhere.
- Understanding ZFS Channel Programs, Dru Lavigne, Klara Systems, 2021
- Add flua to the base system, install to /usr/libexec, Kyle Evans, FreeBSD Phabricator, 2019
- Boot Loader 2018Q4 Update, Warner Losh, Kyle Evans, Toomas Soome, FreeBSD Quarterly Status Report, 2018
- FreeBSD Lua Loader (started in GSoC 2014) about to land, Warner Losh, blog, 2018
- loader_lua(8) - kernel bootstrapping final stage, FreeBSD manual pages, 2018
- zfs-program(8): executes ZFS channel programs, OpenZFS manual pages, 2018
- Building products based on OpenZFS, using channel programs, Matt Ahrens, BSDCan 2017
- bcc Lua tools / LuaJIT to BPF compiler (bpf.lua), Vicent Marti, Marek Vavruša, iovisor/bcc, 2016
- Lua as the FreeBSD loader scripting language, Pedro Arthur, AsiaBSDCon 2015, Tokyo
- lua_syscall: Specializing Operating System Kernels by Using the Lua Language, Ake Koomsin, Yasushi Shinjo, APSys 2015 (poster)
- Mantle: a programmable metadata load balancer for the Ceph file system, Michael A. Sevilla, Noah Watkins, Carlos Maltzahn, Ike Nassi, Scott A. Brandt, Sage A. Weil, Greg Farnum, Sam Fineberg, SC15, 2015
- NetBSD 7.0 Released With New ARM Board Support, Lua Kernel Scripting, Phoronix, Linux.com, 2015
- FW: Lua in the bootloader, Devin Teske, freebsd-hackers, 2014
- high-performance packet filtering with pflua, Andy Wingo, wingolog, 2014
- Ktap or BPF?, Jonathan Corbet, LWN.net, 2014
- Lua bindings, chicken and egg, NetBSD project proposals, 2014
- Lua loader for FreeBSD, Pedro Souza, Google Summer of Code 2014, FreeBSD
- Luakernel: Lua + SQLite + musl libc running on x86, ers35, GitHub, 2014
- npflua: Lua interface to NetBSD’s packet filter, dressupgeekout, GitHub, 2014
- OpenZFS Developer Summit 2014, Chris Siden, channel programs talk, 2014
- Ktap almost gets into 3.13, Jonathan Corbet, LWN.net, 2013
- Lua support in the NetBSD kernel, Hacker News discussion, 2013
- NetBSD To Support Kernel Development In Lua Scripting, Slashdot, 2013
- OpenZFS Developer Summit 2013, Chris Siden, Max Grossman, Alex Reece, channel programs hackathon, 2013
- Towards a Lua scripted operating system, Justin Cormack, Lua Workshop 2013, Toulouse
- ktap: Another dynamic tracing tool for Linux, Jovi Zhang, LWN.net, 2012
- Lua in Linux kernel [was: Disappointment for NetBSD users], David Favro and others, lua-l, 2012
- PacketScript - a Lua Scripting Engine for in-Kernel Packet Processing, André Graf, MSc thesis, University of Basel, 2010
- Lua in Kernel (luak), dbrodie, SourceForge, 2008
- Schemix: a Scheme in the Linux kernel, Savannah, 2003