Lunatik je framework pro psaní skriptů pro linuxové jádro v Lua. Ve vývoji LabLua V rámci Lua v jádře s jasnými odkazy na zkušenosti Použití Lua v jádře NetBSD.
Hlavní součásti
- Lua interpret upraven tak, aby běžel v jádře;
- ovladače zařízení (napsané v Lua);
- nástroje příkazového řádku pro spouštění skriptů a správu běhových prostředí z uživatelského prostoru;
- C API načítat a spouštět skripty a spravovat běhová prostředí z jádra;
- Lua API svázat nástroje jádra skripty Lua.
Nové funkce
- Mechanismus synchronizace vláken: API bariéry dokončení, změny a příklady.
- Mechanismy filtrování provozu: xtables API, netfilter api, změny.
- Mechanismus řazení do fronty KFIFO API: kfifo, změny.
- Širší podpora jádra, kompatibilita mezi verzemi Linux 5.+.
- Podpora OpenWRT и OpenWiFi: samostatné úložiště.
- Jazyková podpora MoonScript (kompiluje do Lua): úložiště moontastik, Úložiště jazyka MoonScript.
- Několik oprav chyb a vylepšení.
Vývojový tým Lunatik by rád poděkoval následujícím přispěvatelům, kteří umožnili toto vydání: sav и marcelstanley od Ring-0 Networks, sheharyaar, jperon, vincentmli, zrezivělý, glk0, a samozřejmě všem ostatním účastníkům, kteří na Lunatiku pracují.
Příklad ovladače zařízení pro generování jednoduchých "hesel"
— /lib/modules/lua/passwd.lua — — implementuje /dev/passwd pro generování hesel — použití: $ sudo lunatik spustit passwd — $ head -c /dev/passwd local device = require("device") local linux = require("linux") lokální funkce nop() end — nedělat nic local s = linux.stat local driver = {name = "passwd", open = nop, release = nop, mode = s.IRUGO} function driver:read() — read(2) zpětné volání – generování 32 náhodných znaků ASCII nové znakové zařízení device.new(driver)
Zdroj: linux.org.ru
