Lunatik 是一个内核脚本框架。 Linux Lua 语言编写。开发中。 实验室Lua 内 内核中的Lua 明确参考经验 在 NetBSD 内核中使用 Lua.
主要部件
- Lua解释器修改为在内核中运行;
- 设备驱动程序(用 Lua 编写);
- 用于从用户空间运行脚本和管理运行时环境的命令行工具;
- 编程接口 从内核加载和运行脚本并管理运行环境;
- 路亚 API 绑定内核工具到 Lua 脚本.
新功能
- 线程同步机制: 完成屏障 API, 变化和例子.
- 流量过滤机制: xtables API, 网络过滤器 API, 变化.
- 排队机制 先进先出API: 克菲福, 变化.
- 更广泛的内核支持、跨版本兼容性 Linux 5。+.
- 支持 OpenWRT的 и 开放WiFi: 单独的存储库.
- 语言支持 月球脚本 (编译为 Lua): moontastik 储存库, MoonScript 语言存储库.
- 修复多个错误并做出改进。
Lunatik 开发团队要感谢以下贡献者,他们使得此版本得以发布: SAV и 马塞尔斯坦利 来自 Ring-0 Networks, 舍哈里亚尔, 杰佩龙, 文森特利, 生锈, glk0,当然还有所有其他为 Lunatik 工作的参与者。
生成简单“密码”的设备驱动程序示例
— /lib/modules/lua/passwd.lua — — 实现 /dev/passwd 来生成密码 — 用法:$ sudo lunatik run passwd — $ head -c /dev/passwd 本地设备 = require("device") 本地 linux = require("linux") 本地函数 nop() end — 不执行任何操作 本地 s = linux.stat 本地驱动程序 = {name = "passwd", open = nop, release = nop, mode = s.IRUGO} 函数驱动程序:read() — read(2) 回调 — 生成随机 ASCII 可打印字符 返回 string.char(linux.random(32, 126)) end — 创建一个新的字符设备 device.new(driver)
来源: linux.org.ru
