From 53d018c7bcaf70ab27701a59e2176dfb98d4b763 Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Sat, 17 Jan 2026 22:25:55 +0530 Subject: [PATCH 1/9] feat: Modularize lunatik and point to dev fork --- kernel/lunatik/Makefile | 224 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 219 insertions(+), 5 deletions(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index 0cce184..c8bfcd0 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -1,10 +1,224 @@ -# -# SPDX-FileCopyrightText: (c) 2025 Ring Zero Desenvolvimento de Software LTDA -# SPDX-License-Identifier: MIT OR GPL-2.0-only -# - include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=lunatik +PKG_VERSION:=3.6.4 +PKG_LICENSE:=GPL-2.0 + +PKG_SOURCE_URL:=https://github.com/luainkernel/lunatik +PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2025-10-30 +PKG_SOURCE_VERSION:=7f89098145fb55af355318a9936b5f2c562d5d90 + +PKG_MAINTAINER:=Lourival Vieira Neto +PKG_BUILD_PARALLEL:=1 +PKG_FLAGS:=nonshared + +ifeq ($(ARCH), x86) + ifdef CONFIG_X86_32 + KLIBC_ARCH := i386 + asflags-y += -D_REGPARM + else + KLIBC_ARCH := x86_64 + endif +else ifeq ($(ARCH), aarch64) + KLIBC_ARCH := arm64 +else ifeq ($(ARCH), mipsel) + KLIBC_ARCH := mips +else + KLIBC_ARCH := $(ARCH) +endif + +KLIBC_USR := klibc/usr + +EXTRA_KCONFIG:= CONFIG_LUNATIK=m \ + CONFIG_LUNATIK_RUNTIME=y \ + CONFIG_LUNATIK_RUN=$(if $(CONFIG_PACKAGE_kmod-lunatik-run),m,n) \ + CONFIG_LUNATIK_DEVICE=$(if $(CONFIG_PACKAGE_kmod-lunatik-device),m,n) \ + CONFIG_LUNATIK_LINUX=$(if $(CONFIG_PACKAGE_kmod-lunatik-linux),m,n) \ + CONFIG_LUNATIK_SOCKET=$(if $(CONFIG_PACKAGE_kmod-lunatik-socket),m,n) \ + CONFIG_LUNATIK_RCU=$(if $(CONFIG_PACKAGE_kmod-lunatik-rcu),m,n) \ + CONFIG_LUNATIK_THREAD=$(if $(CONFIG_PACKAGE_kmod-lunatik-thread),m,n) \ + CONFIG_LUNATIK_FIB=$(if $(CONFIG_PACKAGE_kmod-lunatik-fib),m,n) \ + CONFIG_LUNATIK_DATA=$(if $(CONFIG_PACKAGE_kmod-lunatik-data),m,n) \ + CONFIG_LUNATIK_PROBE=$(if $(CONFIG_PACKAGE_kmod-lunatik-probe),m,n) \ + CONFIG_LUNATIK_SYSCALL=$(if $(CONFIG_PACKAGE_kmod-lunatik-syscall),m,n) \ + CONFIG_LUNATIK_XDP=$(if $(CONFIG_PACKAGE_kmod-lunatik-xdp),m,n) \ + CONFIG_LUNATIK_FIFO=$(if $(CONFIG_PACKAGE_kmod-lunatik-fifo),m,n) \ + CONFIG_LUNATIK_XTABLE=$(if $(CONFIG_PACKAGE_kmod-lunatik-xtable),m,n) \ + CONFIG_LUNATIK_NETFILTER=$(if $(CONFIG_PACKAGE_kmod-lunatik-netfilter),m,n) \ + CONFIG_LUNATIK_COMPLETION=$(if $(CONFIG_PACKAGE_kmod-lunatik-completion),m,n) \ + CONFIG_LUNATIK_CRYPTO_SHASH=$(if $(CONFIG_PACKAGE_kmod-lunatik-crypto-shash),m,n) \ + CONFIG_LUNATIK_CRYPTO_SKCIPHER=$(if $(CONFIG_PACKAGE_kmod-lunatik-crypto-skcipher),m,n) \ + CONFIG_LUNATIK_CRYPTO_AEAD=$(if $(CONFIG_PACKAGE_kmod-lunatik-crypto-aead),m,n) \ + CONFIG_LUNATIK_CRYPTO_RNG=$(if $(CONFIG_PACKAGE_kmod-lunatik-crypto-rng),m,n) \ + CONFIG_LUNATIK_CRYPTO_COMP=$(if $(CONFIG_PACKAGE_kmod-lunatik-crypto-comp),m,n) \ + CONFIG_LUNATIK_CPU=$(if $(CONFIG_PACKAGE_kmod-lunatik-cpu),m,n) \ + CONFIG_LUNATIK_HID=$(if $(CONFIG_PACKAGE_kmod-lunatik-hid),m,n) \ + CONFIG_LUNATIK_SIGNAL=$(if $(CONFIG_PACKAGE_kmod-lunatik-signal),m,n) \ + CONFIG_LUNATIK_BYTEORDER=$(if $(CONFIG_PACKAGE_kmod-lunatik-byteorder),m,n) \ + CONFIG_LUNATIK_NOTIFIER=$(if $(CONFIG_PACKAGE_kmod-lunatik-notifier),m,n) \ + CONFIG_LUNATIK_INSTALL_EXAMPLES=$(if $(CONFIG_PACKAGE_lunatik-examples),y,n) \ + CONFIG_LUNATIK_INSTALL_TESTS=$(if $(CONFIG_PACKAGE_lunatik-tests),y,n) + +EXTRA_CFLAGS:= -Wimplicit-fallthrough=0 -Wno-declaration-after-statement \ + -I$(PKG_BUILD_DIR) -I$(PKG_BUILD_DIR)/include -I$(PKG_BUILD_DIR)/lua \ + -I$(PKG_BUILD_DIR)/$(KLIBC_USR)/include/arch/$(KLIBC_ARCH) + +KBUILD_AFLAGS:= -I$(PKG_BUILD_DIR)/$(KLIBC_USR)/include/arch/$(KLIBC_ARCH) + +LUA_API:= lua/lua.h lua/lauxlib.h lua/lualib.h + +LUNATIK_INSTALL_PATH:= /usr/sbin + +SCRIPTS_INSTALL_PATH:= /lib/modules/lua + +include $(INCLUDE_DIR)/package.mk + +define Package/lunatik/Default + TITLE:=Lunatik + URL:=$PKG_SOURCE_URL + DEPENDS:=+lunatik-scripts +endef + +define KernelPackage/lunatik + $(call Package/lunatik/Default) + SUBMENU:=Other modules + TITLE+= Lua Interpreter + FILES:=$(PKG_BUILD_DIR)/lunatik.ko + AUTOLOAD:=$(call AutoLoad,30,lunatik,1) +endef + +define KernelPackage/lunatik/description + Lunatik is a framework for scripting the Linux kernel with Lua. +endef + +define LunatikModule + define KernelPackage/lunatik-$(1) + $$(call Package/lunatik/Default) + SUBMENU:=Other modules + TITLE+= $(2) + DEPENDS+= +kmod-lunatik $(3) + FILES:=$(PKG_BUILD_DIR)/$(4) + AUTOLOAD:=$(call AutoLoad,31,lunatik-$(1),1) + endef + define KernelPackage/lunatik-$(1)/description + Lunatik $(2) support + endef + $$(eval $$(call KernelPackage,lunatik-$(1))) +endef + +$(eval $(call LunatikModule,run,Run (Execution Support),,lunatik_run.ko)) +$(eval $(call LunatikModule,device,Device Support,,lib/luadevice.ko)) +$(eval $(call LunatikModule,linux,Linux API Bindings,,lib/lualinux.ko)) +$(eval $(call LunatikModule,socket,Socket Support,,lib/luasocket.ko)) +$(eval $(call LunatikModule,rcu,RCU Support,,lib/luarcu.ko)) +$(eval $(call LunatikModule,thread,Thread Support,,lib/luathread.ko)) +$(eval $(call LunatikModule,fib,FIB Support,,lib/luafib.ko)) +$(eval $(call LunatikModule,data,Data Support,,lib/luadata.ko)) +$(eval $(call LunatikModule,probe,Probe Support,,lib/luaprobe.ko)) +$(eval $(call LunatikModule,syscall,Syscall Support,,lib/luasyscall.ko)) +$(eval $(call LunatikModule,xdp,XDP Support,,lib/luaxdp.ko)) +$(eval $(call LunatikModule,fifo,FIFO Support,,lib/luafifo.ko)) +$(eval $(call LunatikModule,xtable,Xtable Support,+kmod-nf-ipt,lib/luaxtable.ko)) +$(eval $(call LunatikModule,netfilter,Netfilter bindings,,lib/luanetfilter.ko)) +$(eval $(call LunatikModule,completion,Completion Support,,lib/luacompletion.ko)) +$(eval $(call LunatikModule,crypto-shash,Crypto SHASH Support,,lib/luacrypto_shash.ko)) +$(eval $(call LunatikModule,crypto-skcipher,Crypto SKCIPHER Support,,lib/luacrypto_skcipher.ko)) +$(eval $(call LunatikModule,crypto-aead,Crypto AEAD Support,,lib/luacrypto_aead.ko)) +$(eval $(call LunatikModule,crypto-rng,Crypto RNG Support,,lib/luacrypto_rng.ko)) +$(eval $(call LunatikModule,crypto-comp,Crypto COMP Support,,lib/luacrypto_comp.ko)) +$(eval $(call LunatikModule,cpu,CPU Support,,lib/luacpu.ko)) +$(eval $(call LunatikModule,hid,HID Support,,lib/luahid.ko)) +$(eval $(call LunatikModule,signal,Signal Support,,lib/luasignal.ko)) +$(eval $(call LunatikModule,byteorder,Byteorder Support,,lib/luabyteorder.ko)) +$(eval $(call LunatikModule,notifier,Notifier Support,,lib/luanotifier.ko)) + +define Package/lunatik-scripts + $(call Package/lunatik/Default) + DEPENDS:=+lua5.4 +endef + +define Package/lunatik-scripts/description + Lunatik kernel scripts and userspace utilities +endef + +define Package/lunatik-scripts/install + $(INSTALL_DIR) $(1)$(LUNATIK_INSTALL_PATH) + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/lunatik $(1)$(LUNATIK_INSTALL_PATH) + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH) + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/lunatik + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/socket + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/syscall + $(INSTALL_DATA) $(PKG_BUILD_DIR)/driver.lua $(1)$(SCRIPTS_INSTALL_PATH) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/mailbox.lua $(1)$(SCRIPTS_INSTALL_PATH) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/net.lua $(1)$(SCRIPTS_INSTALL_PATH) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/lunatik/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/lunatik + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/socket/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/socket + $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/syscall/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/syscall +endef + +define Package/lunatik-examples + $(call Package/lunatik/Default) + TITLE+= Examples + DEPENDS+= +lunatik-scripts +endef + +define Package/lunatik-examples/description + Lunatik example scripts +endef + +define Package/lunatik-examples/install + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/examples + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/examples/echod + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/examples/filter + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/examples/dnsblock + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/examples/dnsdoctor + $(INSTALL_DATA) $(PKG_BUILD_DIR)/examples/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/examples + $(INSTALL_DATA) $(PKG_BUILD_DIR)/examples/echod/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/examples/echod + $(INSTALL_DATA) $(PKG_BUILD_DIR)/examples/filter/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/examples/filter + $(INSTALL_DATA) $(PKG_BUILD_DIR)/examples/dnsblock/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/examples/dnsblock + $(INSTALL_DATA) $(PKG_BUILD_DIR)/examples/dnsdoctor/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/examples/dnsdoctor +endef + +define Package/lunatik-tests + $(call Package/lunatik/Default) + TITLE+= Tests + DEPENDS+= +lunatik-scripts +endef + +define Package/lunatik-tests/description + Lunatik test scripts +endef + +define Package/lunatik-tests/install + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/tests + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/tests/rcumap_sync + $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/tests/crypto + $(INSTALL_DATA) $(PKG_BUILD_DIR)/tests/rcumap_sync/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/tests/rcumap_sync + $(INSTALL_DATA) $(PKG_BUILD_DIR)/tests/crypto/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/tests/crypto +endef + +define Build/Prepare + $(Build/Prepare/Default) + cd $(PKG_BUILD_DIR) && ./gensymbols.sh $(LUA_API) > lunatik_sym.h + cp $(PKG_BUILD_DIR)/Kbuild $(PKG_BUILD_DIR)/Makefile + $(if $(call kernel_patchver_lt,5.15),rm $(PKG_BUILD_DIR)/include/stdarg.h) +endef + +define Build/Compile + $(KERNEL_MAKE) M="$(PKG_BUILD_DIR)" \ + EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ + KBUILD_AFLAGS="$(KBUILD_AFLAGS)" \ + $(EXTRA_KCONFIG) \ + modules +endef + +$(eval $(call KernelPackage,lunatik)) +$(eval $(call BuildPackage,lunatik-scripts)) +$(eval $(call BuildPackage,lunatik-examples)) +$(eval $(call BuildPackage,lunatik-tests)) +include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/netfilter.mk PKG_NAME:=lunatik From 6eba132f1fb703ccd4917ccf972a7491aade2003 Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Sat, 17 Jan 2026 22:29:54 +0530 Subject: [PATCH 2/9] Fix license --- kernel/lunatik/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index c8bfcd0..0b3b5b7 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -1,4 +1,8 @@ -include $(TOPDIR)/rules.mk +# +# SPDX-FileCopyrightText: (c) 2025 Ring Zero Desenvolvimento de Software LTDA +# SPDX-License-Identifier: MIT OR GPL-2.0-only +#include $(TOPDIR)/rules.mk + include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=lunatik From 753729f675272bd59969f40e182f775ac615f4dc Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Sat, 17 Jan 2026 22:31:00 +0530 Subject: [PATCH 3/9] Fix license --- kernel/lunatik/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index 0b3b5b7..ea48b6d 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -1,8 +1,9 @@ # # SPDX-FileCopyrightText: (c) 2025 Ring Zero Desenvolvimento de Software LTDA # SPDX-License-Identifier: MIT OR GPL-2.0-only -#include $(TOPDIR)/rules.mk +# +include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=lunatik From f8b33d8161527530af6caf4d40ef15525bdd3496 Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Sat, 17 Jan 2026 19:59:47 +0000 Subject: [PATCH 4/9] fix : makefile config --- kernel/lunatik/Makefile | 121 ---------------------------------------- 1 file changed, 121 deletions(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index ea48b6d..a7a40a3 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -223,125 +223,4 @@ $(eval $(call KernelPackage,lunatik)) $(eval $(call BuildPackage,lunatik-scripts)) $(eval $(call BuildPackage,lunatik-examples)) $(eval $(call BuildPackage,lunatik-tests)) -include $(INCLUDE_DIR)/kernel.mk -include $(INCLUDE_DIR)/netfilter.mk - -PKG_NAME:=lunatik -PKG_VERSION:=3.6.4 -PKG_LICENSE:=GPL-2.0 - -PKG_SOURCE_URL:=https://github.com/luainkernel/lunatik -PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2025-10-30 -PKG_SOURCE_VERSION:=7f89098145fb55af355318a9936b5f2c562d5d90 - -PKG_MAINTAINER:=Lourival Vieira Neto -PKG_BUILD_PARALLEL:=1 -PKG_FLAGS:=nonshared - -ifeq ($(ARCH), x86) - ifdef CONFIG_X86_32 - KLIBC_ARCH := i386 - asflags-y += -D_REGPARM - else - KLIBC_ARCH := x86_64 - endif -else ifeq ($(ARCH), aarch64) - KLIBC_ARCH := arm64 -else ifeq ($(ARCH), mipsel) - KLIBC_ARCH := mips -else - KLIBC_ARCH := $(ARCH) -endif - -KLIBC_USR := klibc/usr - -EXTRA_KCONFIG:= CONFIG_LUNATIK=m \ - CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \ - CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_SOCKET=m \ - CONFIG_LUNATIK_RCU=m CONFIG_LUNATIK_THREAD=m CONFIG_LUNATIK_FIB=m \ - CONFIG_LUNATIK_DATA=m CONFIG_LUNATIK_PROBE=n CONFIG_LUNATIK_SYSCALL=n \ - CONFIG_LUNATIK_FIFO=m CONFIG_LUNATIK_NETFILTER=m \ - CONFIG_LUNATIK_COMPLETION=m - -EXTRA_CFLAGS:= -Wimplicit-fallthrough=0 -Wno-declaration-after-statement \ - -I$(PKG_BUILD_DIR) -I$(PKG_BUILD_DIR)/include -I$(PKG_BUILD_DIR)/lua \ - -I$(PKG_BUILD_DIR)/$(KLIBC_USR)/include/arch/$(KLIBC_ARCH) - -KBUILD_AFLAGS:= -I$(PKG_BUILD_DIR)/$(KLIBC_USR)/include/arch/$(KLIBC_ARCH) - -LUA_API:= lua/lua.h lua/lauxlib.h lua/lualib.h - -LUNATIK_INSTALL_PATH:= /usr/sbin - -SCRIPTS_INSTALL_PATH:= /lib/modules/lua - -include $(INCLUDE_DIR)/package.mk - -define Package/lunatik/Default - TITLE:=Lunatik - URL:=$PKG_SOURCE_URL -endef - -define KernelPackage/lunatik - $(call Package/lunatik/Default) - SUBMENU:=Other modules - KCONFIG:=CONFIG_NETFILTER=y CONFIG_NETFILTER_ADVANCED=y - DEPENDS:=\ - +kmod-nf-ipt \ - +lunatik-scripts - FILES:=$(PKG_BUILD_DIR)/lunatik.ko $(PKG_BUILD_DIR)/lunatik_run.ko \ - $(PKG_BUILD_DIR)/lib/luarcu.ko $(PKG_BUILD_DIR)/lib/luadevice.ko \ - $(PKG_BUILD_DIR)/lib/luadata.ko $(PKG_BUILD_DIR)/lib/luanetfilter.ko \ - $(PKG_BUILD_DIR)/lib/luasocket.ko \ - $(PKG_BUILD_DIR)/lib/luathread.ko $(PKG_BUILD_DIR)/lib/lualinux.ko \ - $(PKG_BUILD_DIR)/lib/luafifo.ko $(PKG_BUILD_DIR)/lib/luacompletion.ko - AUTOLOAD:=$(call AutoLoad,30,lunatik,1) -endef - -define KernelPackage/lunatik/description - Lunatik is a framework for scripting the Linux kernel with Lua. -endef - -define Package/lunatik-scripts - $(call Package/lunatik/Default) - DEPENDS:=\ - +lua5.4 -endef -define Package/lunatik-scripts/description - Lunatik kernel scripts and userspace utilities -endef - -define Package/lunatik-scripts/install - $(INSTALL_DIR) $(1)$(LUNATIK_INSTALL_PATH) - $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/lunatik $(1)$(LUNATIK_INSTALL_PATH) - $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH) - $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/lunatik - $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/socket - $(INSTALL_DIR) $(1)$(SCRIPTS_INSTALL_PATH)/syscall - $(INSTALL_DATA) $(PKG_BUILD_DIR)/driver.lua $(1)$(SCRIPTS_INSTALL_PATH) - $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/mailbox.lua $(1)$(SCRIPTS_INSTALL_PATH) - $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/net.lua $(1)$(SCRIPTS_INSTALL_PATH) - $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/lunatik/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/lunatik - $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/socket/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/socket - $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/syscall/*.lua $(1)$(SCRIPTS_INSTALL_PATH)/syscall -endef - -define Build/Prepare - $(Build/Prepare/Default) - cd $(PKG_BUILD_DIR) && ./gensymbols.sh $(LUA_API) > lunatik_sym.h - cp $(PKG_BUILD_DIR)/Kbuild $(PKG_BUILD_DIR)/Makefile - $(if $(call kernel_patchver_lt,5.15),rm $(PKG_BUILD_DIR)/include/stdarg.h) -endef - -define Build/Compile - $(KERNEL_MAKE) M="$(PKG_BUILD_DIR)" \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ - KBUILD_AFLAGS="$(KBUILD_AFLAGS)" \ - $(EXTRA_KCONFIG) \ - modules -endef - -$(eval $(call KernelPackage,lunatik)) -$(eval $(call BuildPackage,lunatik-scripts)) From c9255fadb1c07f876be45a5cecb86462161743da Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Sun, 18 Jan 2026 01:39:51 +0530 Subject: [PATCH 5/9] fix: Restore netfilter include and finalize modular structure --- kernel/lunatik/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index a7a40a3..6b645f1 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -5,6 +5,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/netfilter.mk PKG_NAME:=lunatik PKG_VERSION:=3.6.4 From d66d80f30535e5e5100631f366f81e2a25068774 Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Sat, 17 Jan 2026 22:28:14 +0000 Subject: [PATCH 6/9] Point to Zapper9982/lunatik fork for Kconfig modularization --- kernel/lunatik/Makefile | 75 +++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index 6b645f1..680c8f9 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -4,6 +4,7 @@ # include $(TOPDIR)/rules.mk +-include $(TOPDIR)/.config include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/netfilter.mk @@ -11,10 +12,10 @@ PKG_NAME:=lunatik PKG_VERSION:=3.6.4 PKG_LICENSE:=GPL-2.0 -PKG_SOURCE_URL:=https://github.com/luainkernel/lunatik +PKG_SOURCE_URL:=https://github.com/Zapper9982/lunatik PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2025-10-30 -PKG_SOURCE_VERSION:=7f89098145fb55af355318a9936b5f2c562d5d90 +PKG_SOURCE_DATE:=2026-01-17 +PKG_SOURCE_VERSION:=70187755 PKG_MAINTAINER:=Lourival Vieira Neto PKG_BUILD_PARALLEL:=1 @@ -37,7 +38,7 @@ endif KLIBC_USR := klibc/usr -EXTRA_KCONFIG:= CONFIG_LUNATIK=m \ +EXTRA_KCONFIG= CONFIG_LUNATIK=m \ CONFIG_LUNATIK_RUNTIME=y \ CONFIG_LUNATIK_RUN=$(if $(CONFIG_PACKAGE_kmod-lunatik-run),m,n) \ CONFIG_LUNATIK_DEVICE=$(if $(CONFIG_PACKAGE_kmod-lunatik-device),m,n) \ @@ -88,9 +89,10 @@ define Package/lunatik/Default endef define KernelPackage/lunatik - $(call Package/lunatik/Default) SUBMENU:=Other modules - TITLE+= Lua Interpreter + TITLE:=Lunatik Lua Interpreter + URL:=$(PKG_SOURCE_URL) + DEPENDS:=+lunatik-scripts FILES:=$(PKG_BUILD_DIR)/lunatik.ko AUTOLOAD:=$(call AutoLoad,30,lunatik,1) endef @@ -101,44 +103,16 @@ endef define LunatikModule define KernelPackage/lunatik-$(1) - $$(call Package/lunatik/Default) SUBMENU:=Other modules TITLE+= $(2) DEPENDS+= +kmod-lunatik $(3) FILES:=$(PKG_BUILD_DIR)/$(4) AUTOLOAD:=$(call AutoLoad,31,lunatik-$(1),1) - endef - define KernelPackage/lunatik-$(1)/description - Lunatik $(2) support + URL:=$(PKG_SOURCE_URL) endef $$(eval $$(call KernelPackage,lunatik-$(1))) endef -$(eval $(call LunatikModule,run,Run (Execution Support),,lunatik_run.ko)) -$(eval $(call LunatikModule,device,Device Support,,lib/luadevice.ko)) -$(eval $(call LunatikModule,linux,Linux API Bindings,,lib/lualinux.ko)) -$(eval $(call LunatikModule,socket,Socket Support,,lib/luasocket.ko)) -$(eval $(call LunatikModule,rcu,RCU Support,,lib/luarcu.ko)) -$(eval $(call LunatikModule,thread,Thread Support,,lib/luathread.ko)) -$(eval $(call LunatikModule,fib,FIB Support,,lib/luafib.ko)) -$(eval $(call LunatikModule,data,Data Support,,lib/luadata.ko)) -$(eval $(call LunatikModule,probe,Probe Support,,lib/luaprobe.ko)) -$(eval $(call LunatikModule,syscall,Syscall Support,,lib/luasyscall.ko)) -$(eval $(call LunatikModule,xdp,XDP Support,,lib/luaxdp.ko)) -$(eval $(call LunatikModule,fifo,FIFO Support,,lib/luafifo.ko)) -$(eval $(call LunatikModule,xtable,Xtable Support,+kmod-nf-ipt,lib/luaxtable.ko)) -$(eval $(call LunatikModule,netfilter,Netfilter bindings,,lib/luanetfilter.ko)) -$(eval $(call LunatikModule,completion,Completion Support,,lib/luacompletion.ko)) -$(eval $(call LunatikModule,crypto-shash,Crypto SHASH Support,,lib/luacrypto_shash.ko)) -$(eval $(call LunatikModule,crypto-skcipher,Crypto SKCIPHER Support,,lib/luacrypto_skcipher.ko)) -$(eval $(call LunatikModule,crypto-aead,Crypto AEAD Support,,lib/luacrypto_aead.ko)) -$(eval $(call LunatikModule,crypto-rng,Crypto RNG Support,,lib/luacrypto_rng.ko)) -$(eval $(call LunatikModule,crypto-comp,Crypto COMP Support,,lib/luacrypto_comp.ko)) -$(eval $(call LunatikModule,cpu,CPU Support,,lib/luacpu.ko)) -$(eval $(call LunatikModule,hid,HID Support,,lib/luahid.ko)) -$(eval $(call LunatikModule,signal,Signal Support,,lib/luasignal.ko)) -$(eval $(call LunatikModule,byteorder,Byteorder Support,,lib/luabyteorder.ko)) -$(eval $(call LunatikModule,notifier,Notifier Support,,lib/luanotifier.ko)) define Package/lunatik-scripts $(call Package/lunatik/Default) @@ -213,9 +187,12 @@ define Build/Prepare endef define Build/Compile - $(KERNEL_MAKE) M="$(PKG_BUILD_DIR)" \ + $(info LINUX_DIR=$(LINUX_DIR)) + $(MAKE) -C $(LINUX_DIR) \ + M="$(PKG_BUILD_DIR)" \ EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ KBUILD_AFLAGS="$(KBUILD_AFLAGS)" \ + $(KERNEL_MAKE_FLAGS) \ $(EXTRA_KCONFIG) \ modules endef @@ -225,3 +202,29 @@ $(eval $(call BuildPackage,lunatik-scripts)) $(eval $(call BuildPackage,lunatik-examples)) $(eval $(call BuildPackage,lunatik-tests)) +$(eval $(call LunatikModule,run,Run (Execution Support),,lunatik_run.ko)) +$(eval $(call LunatikModule,device,Device Support,,lib/luadevice.ko)) +$(eval $(call LunatikModule,linux,Linux API Bindings,,lib/lualinux.ko)) +$(eval $(call LunatikModule,socket,Socket Support,,lib/luasocket.ko)) +$(eval $(call LunatikModule,rcu,RCU Support,,lib/luarcu.ko)) +$(eval $(call LunatikModule,thread,Thread Support,,lib/luathread.ko)) +$(eval $(call LunatikModule,fib,FIB Support,,lib/luafib.ko)) +$(eval $(call LunatikModule,data,Data Support,,lib/luadata.ko)) +$(eval $(call LunatikModule,probe,Probe Support,,lib/luaprobe.ko)) +$(eval $(call LunatikModule,syscall,Syscall Support,,lib/luasyscall.ko)) +$(eval $(call LunatikModule,xdp,XDP Support,,lib/luaxdp.ko)) +$(eval $(call LunatikModule,fifo,FIFO Support,,lib/luafifo.ko)) +$(eval $(call LunatikModule,xtable,Xtable Support,+kmod-nf-ipt,lib/luaxtable.ko)) +$(eval $(call LunatikModule,netfilter,Netfilter bindings,,lib/luanetfilter.ko)) +$(eval $(call LunatikModule,completion,Completion Support,,lib/luacompletion.ko)) +$(eval $(call LunatikModule,crypto-shash,Crypto SHASH Support,,lib/luacrypto_shash.ko)) +$(eval $(call LunatikModule,crypto-skcipher,Crypto SKCIPHER Support,,lib/luacrypto_skcipher.ko)) +$(eval $(call LunatikModule,crypto-aead,Crypto AEAD Support,,lib/luacrypto_aead.ko)) +$(eval $(call LunatikModule,crypto-rng,Crypto RNG Support,,lib/luacrypto_rng.ko)) +$(eval $(call LunatikModule,crypto-comp,Crypto COMP Support,,lib/luacrypto_comp.ko)) +$(eval $(call LunatikModule,cpu,CPU Support,,lib/luacpu.ko)) +$(eval $(call LunatikModule,hid,HID Support,,lib/luahid.ko)) +$(eval $(call LunatikModule,signal,Signal Support,,lib/luasignal.ko)) +$(eval $(call LunatikModule,byteorder,Byteorder Support,,lib/luabyteorder.ko)) +$(eval $(call LunatikModule,notifier,Notifier Support,,lib/luanotifier.ko)) + From e131c99c5b7bfb42d6d20eb1a9eb00b5f6696a47 Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Mon, 19 Jan 2026 14:46:45 +0000 Subject: [PATCH 7/9] fix build definition --- kernel/lunatik/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index 680c8f9..14832a2 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -15,7 +15,7 @@ PKG_LICENSE:=GPL-2.0 PKG_SOURCE_URL:=https://github.com/Zapper9982/lunatik PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2026-01-17 -PKG_SOURCE_VERSION:=70187755 +PKG_SOURCE_VERSION:=acc4062b PKG_MAINTAINER:=Lourival Vieira Neto PKG_BUILD_PARALLEL:=1 @@ -181,7 +181,7 @@ endef define Build/Prepare $(Build/Prepare/Default) - cd $(PKG_BUILD_DIR) && ./gensymbols.sh $(LUA_API) > lunatik_sym.h + cd $(PKG_BUILD_DIR) && CC=gcc ./gensymbols.sh $(LUA_API) > lunatik_sym.h cp $(PKG_BUILD_DIR)/Kbuild $(PKG_BUILD_DIR)/Makefile $(if $(call kernel_patchver_lt,5.15),rm $(PKG_BUILD_DIR)/include/stdarg.h) endef From 0cf993f0279b88f36b617a2b3557a4dc11fff001 Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Mon, 19 Jan 2026 18:46:17 +0000 Subject: [PATCH 8/9] Update lunatik to point to Zapper9982 fork with Kconfig support --- kernel/lunatik/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index 14832a2..e33396e 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -14,8 +14,8 @@ PKG_LICENSE:=GPL-2.0 PKG_SOURCE_URL:=https://github.com/Zapper9982/lunatik PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2026-01-17 -PKG_SOURCE_VERSION:=acc4062b +PKG_SOURCE_DATE:=2026-01-19 +PKG_SOURCE_VERSION:=4e48ccba6f2a92b1a4f90a69a1ea4f605752e694 PKG_MAINTAINER:=Lourival Vieira Neto PKG_BUILD_PARALLEL:=1 From 7febe770f3fd6baf65723564ac9cc3b51d8f7f4b Mon Sep 17 00:00:00 2001 From: Zapper9982 Date: Tue, 20 Jan 2026 21:06:35 +0000 Subject: [PATCH 9/9] change to use HOSTCC --- kernel/lunatik/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/lunatik/Makefile b/kernel/lunatik/Makefile index e33396e..2732956 100644 --- a/kernel/lunatik/Makefile +++ b/kernel/lunatik/Makefile @@ -14,7 +14,7 @@ PKG_LICENSE:=GPL-2.0 PKG_SOURCE_URL:=https://github.com/Zapper9982/lunatik PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2026-01-19 +PKG_SOURCE_DATE:=2024-11-18 PKG_SOURCE_VERSION:=4e48ccba6f2a92b1a4f90a69a1ea4f605752e694 PKG_MAINTAINER:=Lourival Vieira Neto @@ -181,7 +181,7 @@ endef define Build/Prepare $(Build/Prepare/Default) - cd $(PKG_BUILD_DIR) && CC=gcc ./gensymbols.sh $(LUA_API) > lunatik_sym.h + cd $(PKG_BUILD_DIR) && CC=$(HOSTCC) ./gensymbols.sh $(LUA_API) > lunatik_sym.h cp $(PKG_BUILD_DIR)/Kbuild $(PKG_BUILD_DIR)/Makefile $(if $(call kernel_patchver_lt,5.15),rm $(PKG_BUILD_DIR)/include/stdarg.h) endef