Closed vincentmli closed 1 day ago
I'm not familiar with BPFire, so I'd need to take a better look.. however, an easy workaround would be to call lunatik_sym.h
directly.. perhaps using $(PWD)
or this $(DIR_APP)
, passing the headers, would work.. I would also try to do LUA_API = $(DIR_APP)/lua/lua.h $(DIR_APP)/lua/lauxlib.h $(DIR_APP)/lua/lualib.h
Thanks for quick reply, BPFire is fork of IPFire which has https://www.ipfire.org/docs/devel/ipfire-2-x/addon-howto to add third party software, I will try your workaround suggestion, like changing lunatik Makefile to LUA_API = $(DIR_APP)/lua/lua.h $(DIR_APP)/lua/lauxlib.h $(DIR_APP)/lua/lualib.h
I tried LUA_API = ${PWD}/lua/lua.h ${PWD}/lua/lauxlib.h ${PWD}/lua/lualib.h
, it result in, the ${PWD}
is translated to /usr/src
which is correct chroot path to lunatik source.
====================================== Installing lunatik-3.5 ...
Install started; saving file list to /usr/src/lsalr ...
cd /usr/src/lunatik-3.5 && make btf_install
make[1]: Entering directory '/usr/src/lunatik-3.5'
cp /sys/kernel/btf/vmlinux /lib/modules/6.6.15-ipfire/build
make[1]: Leaving directory '/usr/src/lunatik-3.5'
cd /usr/src/lunatik-3.5 && make
make[1]: Entering directory '/usr/src/lunatik-3.5'
make[1]: *** No rule to make target '/usr/src/lunatik-3.5/lua/lua.h', needed by 'lunatik_sym.h'. Stop.
make[1]: Leaving directory '/usr/src/lunatik-3.5'
make: *** [lunatik:75: /usr/src/log/lunatik-3.5] Error 2
use $(DIR_APP)
in lunatik Makefile seems did nothing, the path changed to /lua/lua.h
under chroot.
by the way, I also tried to build lunatik in normal Ubuntu, it has error below:
root@r210:/usr/src/lunatik# make
make -C /lib/modules/6.8.0-40-lowlatency/build M=/usr/src/lunatik CONFIG_LUNATIK=m \
CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \
CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \
CONFIG_LUNATIK_RCU=m CONFIG_LUNATIK_THREAD=m CONFIG_LUNATIK_FIB=m \
CONFIG_LUNATIK_DATA=m CONFIG_LUNATIK_PROBE=m CONFIG_LUNATIK_SYSCALL=m \
CONFIG_LUNATIK_XDP=m
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-lowlatency'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
CC [M] /usr/src/lunatik/lua/linit.o
CC [M] /usr/src/lunatik/lua/loadlib.o
AS [M] /usr/src/lunatik//klibc/usr/klibc/arch/x86_64/setjmp.o
/usr/src/lunatik//klibc/usr/klibc/arch/x86_64/setjmp.o: warning: objtool: setjmp+0x23: 'naked' return found in RETHUNK build
/usr/src/lunatik//klibc/usr/klibc/arch/x86_64/setjmp.o: warning: objtool: longjmp+0x1d: indirect jump found in RETPOLINE build
make[3]: *** [scripts/Makefile.build:361: /usr/src/lunatik//klibc/usr/klibc/arch/x86_64/setjmp.o] Error 254
make[3]: *** Deleting file '/usr/src/lunatik//klibc/usr/klibc/arch/x86_64/setjmp.o'
make[2]: *** [/usr/src/linux-headers-6.8.0-40-lowlatency/Makefile:1926: /usr/src/lunatik] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-40-lowlatency'
make: *** [Makefile:11: all] Error 2
Can you try the master branch? It's supposed to be fixed there..
I think your makefile isn't handling well the header dependency.. I would just remove it.. e.g., s/lunatik_sym.h: $(LUA_API)/lunatik_sym.h:/
Thanks for quick reply, BPFire is fork of IPFire which has https://www.ipfire.org/docs/devel/ipfire-2-x/addon-howto to add third party software, I will try your workaround suggestion, like changing lunatik Makefile to
LUA_API = $(DIR_APP)/lua/lua.h $(DIR_APP)/lua/lauxlib.h $(DIR_APP)/lua/lualib.h
Nice! Will take a look ;-)
Can you try the master branch? It's supposed to be fixed there..
I checked the master Makefile seems to be same as lunatik v3.5 in regard to lunatik_sym.h
all: lunatik_sym.h
make -C ${KDIR} M=${PWD} CONFIG_LUNATIK=m \
CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \
CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \
CONFIG_LUNATIK_RCU=m CONFIG_LUNATIK_THREAD=m CONFIG_LUNATIK_FIB=m \
CONFIG_LUNATIK_DATA=m CONFIG_LUNATIK_PROBE=m CONFIG_LUNATIK_SYSCALL=m \
CONFIG_LUNATIK_XDP=m
...SNIP...
lunatik_sym.h: $(LUA_API)
${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
or you mean the build error for normal Ubuntu build, yes, it looks the master branch competed the build without [scripts/Makefile.build:361: /usr/src/lunatik//klibc/usr/klibc/arch/x86_64/setjmp.o] Error 254
Yup, I meant regarding Ubuntu build..
Thanks for quick reply, BPFire is fork of IPFire which has https://www.ipfire.org/docs/devel/ipfire-2-x/addon-howto to add third party software, I will try your workaround suggestion, like changing lunatik Makefile to
LUA_API = $(DIR_APP)/lua/lua.h $(DIR_APP)/lua/lauxlib.h $(DIR_APP)/lua/lualib.h
Nice! Will take a look ;-)
in BPFire, there is also section on how to build BPFire which already have xdp-tools, libbpf...etc addon, IPFire does not have kernel with eBPF enabled, so you won't get too far with it :), if you want to try, you might just try BPFire build. I will add lunatik source packages to BPFire cache directory, and addon lfs/lunatik, so it is easier for you to build test lunatik if you ever want to try.
if I understand you correctly, I git clone the master branch and made following changes in Makefile
root@r210:/home/vincent/go/src/github.com/vincentmli/BPFire/cache/lunatik-5.3.2# git diff
diff --git a/Makefile b/Makefile
index ec172541..2a12b68c 100644
--- a/Makefile
+++ b/Makefile
@@ -4,13 +4,13 @@
MODULES_INSTALL_PATH = /lib/modules/${shell uname -r}
SCRIPTS_INSTALL_PATH = /lib/modules/lua
LUNATIK_INSTALL_PATH = /usr/local/sbin
-LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h
+LUA_API = $(PWD)/lua/lua.h $(PWD)/lua/lauxlib.h $(PWD)/lua/lualib.h
KDIR ?= ${MODULES_INSTALL_PATH}/build
RM = rm -f
MKDIR = mkdir -p -m 0755
INSTALL = install -o root -g root
-all: lunatik_sym.h
+all: $(LUA_API)lunatik_sym.h
${MAKE} -C ${KDIR} M=${PWD} CONFIG_LUNATIK=m \
CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \
CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \
@@ -70,6 +70,6 @@ install: scripts_install modules_install
uninstall: scripts_uninstall modules_uninstall
depmod -a
-lunatik_sym.h: $(LUA_API)
+$(LUA_API)/lunatik_sym.h: $(LUA_API)
${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
then I got error Circular denpendency
, Am I missing anything?
Sep 14 21:05:26: Building lunatik lunatik-5.3.2.tar.gz checksum OK
+ cd /usr/src/lfs
+ make -f lunatik LFS_BASEDIR=/usr/src install
====================================== Installing lunatik-5.3.2 ...
Install started; saving file list to /usr/src/lsalr ...
cd /usr/src/lunatik-5.3.2 && make btf_install
make[1]: Entering directory '/usr/src/lunatik-5.3.2'
cp /sys/kernel/btf/vmlinux /lib/modules/6.6.15-ipfire/build
make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
cd /usr/src/lunatik-5.3.2 && make
make[1]: Entering directory '/usr/src/lunatik-5.3.2'
make[1]: Circular /usr/src/lunatik-5.3.2/lua/lua.h <- /usr/src/lunatik-5.3.2/lua/lua.h dependency dropped.
make[1]: Circular /usr/src/lunatik-5.3.2/lua/lauxlib.h <- /usr/src/lunatik-5.3.2/lua/lua.h dependency dropped.
make[1]: Circular /usr/src/lunatik-5.3.2/lua/lauxlib.h <- /usr/src/lunatik-5.3.2/lua/lauxlib.h dependency dropped.
make[1]: *** No rule to make target '/usr/src/lunatik-5.3.2/lua/lualib.hlunatik_sym.h', needed by 'all'. Stop.
make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
make: *** [lunatik:75: /usr/src/log/lunatik-5.3.2] Error 2
sorry missed /
above in +all: $(LUA_API)lunatik_sym.h
, corrected the mistake, now making some progress
root@r210:/home/vincent/go/src/github.com/vincentmli/BPFire/cache/lunatik-5.3.2# git diff
diff --git a/Makefile b/Makefile
index ec172541..33580878 100644
--- a/Makefile
+++ b/Makefile
@@ -4,13 +4,13 @@
MODULES_INSTALL_PATH = /lib/modules/${shell uname -r}
SCRIPTS_INSTALL_PATH = /lib/modules/lua
LUNATIK_INSTALL_PATH = /usr/local/sbin
-LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h
+LUA_API = $(PWD)/lua/lua.h $(PWD)/lua/lauxlib.h $(PWD)/lua/lualib.h
KDIR ?= ${MODULES_INSTALL_PATH}/build
RM = rm -f
MKDIR = mkdir -p -m 0755
INSTALL = install -o root -g root
-all: lunatik_sym.h
+all: $(LUA_API)/lunatik_sym.h
${MAKE} -C ${KDIR} M=${PWD} CONFIG_LUNATIK=m \
CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \
CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \
@@ -70,6 +70,6 @@ install: scripts_install modules_install
uninstall: scripts_uninstall modules_uninstall
depmod -a
-lunatik_sym.h: $(LUA_API)
+$(LUA_API)/lunatik_sym.h: $(LUA_API)
${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
now it seems BPFire kernel source missing ./tools/bpf/resolve_btfids/resolve_btfids: No such file or directory
lunatik (5.3.2) [ 54 ][ FAIL ]
/usr/src/lunatik-5.3.2/lunatik.o: warning: objtool: luaV_execute+0x75: sibling call from callable instruction with modified stack frame
CC [M] /usr/src/lunatik-5.3.2/lunatik_run.o
CC [M] /usr/src/lunatik-5.3.2/lib/luadevice.o
CC [M] /usr/src/lunatik-5.3.2/lib/lualinux.o
CC [M] /usr/src/lunatik-5.3.2/lib/luanotifier.o
CC [M] /usr/src/lunatik-5.3.2/lib/luasocket.o
CC [M] /usr/src/lunatik-5.3.2/lib/luarcu.o
CC [M] /usr/src/lunatik-5.3.2/lib/luathread.o
CC [M] /usr/src/lunatik-5.3.2/lib/luafib.o
CC [M] /usr/src/lunatik-5.3.2/lib/luadata.o
CC [M] /usr/src/lunatik-5.3.2/lib/luaprobe.o
CC [M] /usr/src/lunatik-5.3.2/lib/luasyscall.o
CC [M] /usr/src/lunatik-5.3.2/lib/luaxdp.o
CC [M] /usr/src/lunatik-5.3.2/lib/luafifo.o
CC [M] /usr/src/lunatik-5.3.2/lib/luaxtable.o
CC [M] /usr/src/lunatik-5.3.2/lib/luanetfilter.o
CC [M] /usr/src/lunatik-5.3.2/lib/luacompletion.o
MODPOST /usr/src/lunatik-5.3.2/Module.symvers
CC [M] /usr/src/lunatik-5.3.2/lunatik.mod.o
LD [M] /usr/src/lunatik-5.3.2/lunatik.ko
BTF [M] /usr/src/lunatik-5.3.2/lunatik.ko
/bin/sh: line 1: ./tools/bpf/resolve_btfids/resolve_btfids: No such file or directory
make[4]: *** [scripts/Makefile.modfinal:60: /usr/src/lunatik-5.3.2/lunatik.ko] Error 127
make[4]: *** Deleting file '/usr/src/lunatik-5.3.2/lunatik.ko'
make[3]: *** [/lib/modules/6.6.15-ipfire/build/Makefile:1846: modules] Error 2
make[2]: *** [Makefile:234: __sub-make] Error 2
make[2]: Leaving directory '/lib/modules/6.6.15-ipfire/build'
make[1]: *** [Makefile:14: all] Error 2
make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
make: *** [lunatik:75: /usr/src/log/lunatik-5.3.2] Error 2
the chroot build directory has the resolve_btfids
directory
root@r210:/home/vincent/go/src/github.com/vincentmli/BPFire# find build/ -name "resolve_btfids*"
build/lib/modules/6.6.15-ipfire/build/tools/bpf/resolve_btfids
I worked around the missing resolve_btfids
issue by manually copy resolve_btfids
binary from the BPFire kernel source
to the chroot build build/lib/modules/6.6.15-ipfire/build/tools/bpf/resolve_btfids/
directory
root@r210:/usr/src/linux-6.6.15/tools/bpf/resolve_btfids# cp resolve_btfids /home/vincent/go/src/github.com/vincentmli/BPFire/build/lib/modules/6.6.15-ipfire/build/tools/bpf/resolve_btfids/
loxilb-tc (5.11.0) [ DONE ]
loxicmd (0.9.x) [ DONE ]
loxilb (0.9.x) [ DONE ]
lunatik (5.3.2) [ 31 ][ DONE ]
linux (6.6.15) KCFG= [ DONE ]
rtl8812au (20210629-e6a0d1704ccd31145800ff5eb09ec2435a02f995) KCFG= [ DONE ]
linux-initrd ($(KVER)) KCFG= [ DONE ]
Building installer
memtest (7.00) [ DONE ]
installer [ DONE ]
strip
Perhaps you could just make a symbolic link to the path it is looking for.. as the file is already in the chroot.. is it working now? Was you able to run a lua script from an XDP/eBPF program?
yes, the build is ok now, will try install the new BPFire ISO later
ok, now run time error, I wonder if BPFire kernel has policy to restrict loading third party modules ? any clue
[root@bpfire-2 ~]# lunatik run /lib/modules/lua/examples/filter/sni.lua false
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/lunatik.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luadevice.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/lualinux.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luanotifier.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luasocket.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luarcu.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luathread.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luafib.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luadata.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luaprobe.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luasyscall.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luaxdp.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luafifo.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luaxtable.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luanetfilter.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luacompletion.ko: Key was rejected by service
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/lunatik_run.ko: Key was rejected by service
/usr/bin/lua: /usr/sbin/lunatik:30: /dev/lunatik: No such file or directory
stack traceback:
[C]: in function 'assert'
/usr/sbin/lunatik:30: in field 'loadstring'
/usr/sbin/lunatik:40: in field 'dostring'
/usr/sbin/lunatik:94: in main chunk
[C]: in ?
maybe I need to turn off BPFire kernel config CONFIG_MODULE_SIG_FORCE=y
? or boot kernel with module.sig_enforce=0
?
It seems so, or to sign lunatik modules with the distro key.. but I think it would be simpler just to disable it in the boot.. btw, I think it should be CONFIG_MODULE_SIG_FORCE=n
for disabling it..
now different problem after recompile kernel with sig force disabled
[root@bpfire-2 ~]# lunatik run /lib/modules/lua/examples/filter/sni.lua false
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/lunatik.ko: Invalid parameters
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luadevice.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/lualinux.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luanotifier.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luasocket.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luarcu.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luathread.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luafib.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luadata.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luaprobe.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luasyscall.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luaxdp.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luafifo.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luaxtable.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luanetfilter.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/luacompletion.ko: Unknown symbol in module
insmod: ERROR: could not insert module /lib/modules/6.6.15-ipfire/lunatik/lunatik_run.ko: Unknown symbol in module
/usr/bin/lua: /usr/sbin/lunatik:30: /dev/lunatik: No such file or directory
stack traceback:
[C]: in function 'assert'
/usr/sbin/lunatik:30: in field 'loadstring'
/usr/sbin/lunatik:40: in field 'dostring'
/usr/sbin/lunatik:94: in main chunk
[C]: in ?
here is the lunatik build log, I do not see anything wrong other than Circular dependency dropped
message
1131864 ====================================== Installing lunatik-5.3.2 ...
1131865 Install started; saving file list to /usr/src/lsalr ...
1131866 cd /usr/src/lunatik-5.3.2 && make btf_install
1131867 make[1]: Entering directory '/usr/src/lunatik-5.3.2'
1131868 cp /sys/kernel/btf/vmlinux /lib/modules/6.6.15-ipfire/build
1131869 make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
1131870 cd /usr/src/lunatik-5.3.2 && make
1131871 make[1]: Entering directory '/usr/src/lunatik-5.3.2'
1131872 make[1]: Circular /usr/src/lunatik-5.3.2/lua/lua.h <- /usr/src/lunatik-5.3.2/lua/lua.h dependency dropped.
1131873 make[1]: Circular /usr/src/lunatik-5.3.2/lua/lauxlib.h <- /usr/src/lunatik-5.3.2/lua/lua.h dependency dropped.
1131874 make[1]: Circular /usr/src/lunatik-5.3.2/lua/lauxlib.h <- /usr/src/lunatik-5.3.2/lua/lauxlib.h dependency dropped.
1131875 make -C /lib/modules/6.6.15-ipfire/build M=/usr/src/lunatik-5.3.2 CONFIG_LUNATIK=m \
1131876 CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \
1131877 CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \
1131878 CONFIG_LUNATIK_RCU=m CONFIG_LUNATIK_THREAD=m CONFIG_LUNATIK_FIB=m \
1131879 CONFIG_LUNATIK_DATA=m CONFIG_LUNATIK_PROBE=m CONFIG_LUNATIK_SYSCALL=m \
1131880 CONFIG_LUNATIK_XDP=m CONFIG_LUNATIK_FIFO=m CONFIG_LUNATIK_XTABLE=m \
1131881 CONFIG_LUNATIK_NETFILTER=m CONFIG_LUNATIK_COMPLETION=m
1131882 make[2]: Entering directory '/lib/modules/6.6.15-ipfire/build'
1131883 CC [M] /usr/src/lunatik-5.3.2/lua/lapi.o
1131884 CC [M] /usr/src/lunatik-5.3.2/lua/lcode.o
1131885 CC [M] /usr/src/lunatik-5.3.2/lua/lctype.o
1131886 CC [M] /usr/src/lunatik-5.3.2/lua/ldebug.o
1131887 CC [M] /usr/src/lunatik-5.3.2/lua/ldo.o
1131888 CC [M] /usr/src/lunatik-5.3.2/lua/ldump.o
1131889 CC [M] /usr/src/lunatik-5.3.2/lua/lfunc.o
1131890 CC [M] /usr/src/lunatik-5.3.2/lua/lgc.o
1131891 CC [M] /usr/src/lunatik-5.3.2/lua/llex.o
1131892 CC [M] /usr/src/lunatik-5.3.2/lua/lmem.o
1131893 CC [M] /usr/src/lunatik-5.3.2/lua/lobject.o
1131894 CC [M] /usr/src/lunatik-5.3.2/lua/lopcodes.o
1131895 CC [M] /usr/src/lunatik-5.3.2/lua/lparser.o
1131896 CC [M] /usr/src/lunatik-5.3.2/lua/lstate.o
1131897 CC [M] /usr/src/lunatik-5.3.2/lua/lstring.o
1131898 CC [M] /usr/src/lunatik-5.3.2/lua/ltable.o
1131899 CC [M] /usr/src/lunatik-5.3.2/lua/ltm.o
1131900 CC [M] /usr/src/lunatik-5.3.2/lua/lundump.o
1131901 CC [M] /usr/src/lunatik-5.3.2/lua/lvm.o
1131902 CC [M] /usr/src/lunatik-5.3.2/lua/lzio.o
1131903 CC [M] /usr/src/lunatik-5.3.2/lua/lauxlib.o
1131904 CC [M] /usr/src/lunatik-5.3.2/lua/lbaselib.o
1131905 CC [M] /usr/src/lunatik-5.3.2/lua/lcorolib.o
1131906 CC [M] /usr/src/lunatik-5.3.2/lua/ldblib.o
1131907 CC [M] /usr/src/lunatik-5.3.2/lua/lstrlib.o
1131908 CC [M] /usr/src/lunatik-5.3.2/lua/ltablib.o
1131909 CC [M] /usr/src/lunatik-5.3.2/lua/lutf8lib.o
1131910 CC [M] /usr/src/lunatik-5.3.2/lua/lmathlib.o
1131911 CC [M] /usr/src/lunatik-5.3.2/lua/linit.o
1131912 CC [M] /usr/src/lunatik-5.3.2/lua/loadlib.o
1131913 AS [M] /usr/src/lunatik-5.3.2//klibc/usr/klibc/arch/x86_64/setjmp.o
1131914 CC [M] /usr/src/lunatik-5.3.2/lunatik_aux.o
1131915 CC [M] /usr/src/lunatik-5.3.2/lunatik_obj.o
1131916 CC [M] /usr/src/lunatik-5.3.2/lunatik_core.o
1131917 LD [M] /usr/src/lunatik-5.3.2/lunatik.o
1131918 /usr/src/lunatik-5.3.2/lunatik.o: warning: objtool: luaV_execute+0x75: sibling call from callable instruction with modified stack frame
1131919 CC [M] /usr/src/lunatik-5.3.2/lunatik_run.o
1131920 CC [M] /usr/src/lunatik-5.3.2/lib/luadevice.o
1131921 CC [M] /usr/src/lunatik-5.3.2/lib/lualinux.o
1131922 CC [M] /usr/src/lunatik-5.3.2/lib/luanotifier.o
1131923 CC [M] /usr/src/lunatik-5.3.2/lib/luasocket.o
1131924 CC [M] /usr/src/lunatik-5.3.2/lib/luarcu.o
1131925 CC [M] /usr/src/lunatik-5.3.2/lib/luathread.o
1131926 CC [M] /usr/src/lunatik-5.3.2/lib/luafib.o
1131927 CC [M] /usr/src/lunatik-5.3.2/lib/luadata.o
1131928 CC [M] /usr/src/lunatik-5.3.2/lib/luaprobe.o
1131929 CC [M] /usr/src/lunatik-5.3.2/lib/luasyscall.o
1131930 CC [M] /usr/src/lunatik-5.3.2/lib/luaxdp.o
1131931 CC [M] /usr/src/lunatik-5.3.2/lib/luafifo.o
1131932 CC [M] /usr/src/lunatik-5.3.2/lib/luaxtable.o
1131933 CC [M] /usr/src/lunatik-5.3.2/lib/luanetfilter.o
1131934 CC [M] /usr/src/lunatik-5.3.2/lib/luacompletion.o
1131935 MODPOST /usr/src/lunatik-5.3.2/Module.symvers
1131936 CC [M] /usr/src/lunatik-5.3.2/lunatik.mod.o
1131937 LD [M] /usr/src/lunatik-5.3.2/lunatik.ko
1131938 BTF [M] /usr/src/lunatik-5.3.2/lunatik.ko
1131939 CC [M] /usr/src/lunatik-5.3.2/lunatik_run.mod.o
1131940 LD [M] /usr/src/lunatik-5.3.2/lunatik_run.ko
1131941 BTF [M] /usr/src/lunatik-5.3.2/lunatik_run.ko
1131942 CC [M] /usr/src/lunatik-5.3.2/lib/luadevice.mod.o
1131943 LD [M] /usr/src/lunatik-5.3.2/lib/luadevice.ko
1131944 BTF [M] /usr/src/lunatik-5.3.2/lib/luadevice.ko
1131945 CC [M] /usr/src/lunatik-5.3.2/lib/lualinux.mod.o
1131946 LD [M] /usr/src/lunatik-5.3.2/lib/lualinux.ko
1131947 BTF [M] /usr/src/lunatik-5.3.2/lib/lualinux.ko
1131948 CC [M] /usr/src/lunatik-5.3.2/lib/luanotifier.mod.o
1131949 LD [M] /usr/src/lunatik-5.3.2/lib/luanotifier.ko
1131950 BTF [M] /usr/src/lunatik-5.3.2/lib/luanotifier.ko
1131951 CC [M] /usr/src/lunatik-5.3.2/lib/luasocket.mod.o
1131952 LD [M] /usr/src/lunatik-5.3.2/lib/luasocket.ko
1131953 BTF [M] /usr/src/lunatik-5.3.2/lib/luasocket.ko
1131954 CC [M] /usr/src/lunatik-5.3.2/lib/luarcu.mod.o
1131955 LD [M] /usr/src/lunatik-5.3.2/lib/luarcu.ko
1131956 BTF [M] /usr/src/lunatik-5.3.2/lib/luarcu.ko
1131957 CC [M] /usr/src/lunatik-5.3.2/lib/luathread.mod.o
1131958 LD [M] /usr/src/lunatik-5.3.2/lib/luathread.ko
1131959 BTF [M] /usr/src/lunatik-5.3.2/lib/luathread.ko
1131960 CC [M] /usr/src/lunatik-5.3.2/lib/luafib.mod.o
1131961 LD [M] /usr/src/lunatik-5.3.2/lib/luafib.ko
1131962 BTF [M] /usr/src/lunatik-5.3.2/lib/luafib.ko
1131963 CC [M] /usr/src/lunatik-5.3.2/lib/luadata.mod.o
1131964 LD [M] /usr/src/lunatik-5.3.2/lib/luadata.ko
1131965 BTF [M] /usr/src/lunatik-5.3.2/lib/luadata.ko
1131966 CC [M] /usr/src/lunatik-5.3.2/lib/luaprobe.mod.o
1131967 LD [M] /usr/src/lunatik-5.3.2/lib/luaprobe.ko
1131968 BTF [M] /usr/src/lunatik-5.3.2/lib/luaprobe.ko
1131969 CC [M] /usr/src/lunatik-5.3.2/lib/luasyscall.mod.o
1131970 LD [M] /usr/src/lunatik-5.3.2/lib/luasyscall.ko
1131971 BTF [M] /usr/src/lunatik-5.3.2/lib/luasyscall.ko
1131972 CC [M] /usr/src/lunatik-5.3.2/lib/luaxdp.mod.o
1131973 LD [M] /usr/src/lunatik-5.3.2/lib/luaxdp.ko
1131974 BTF [M] /usr/src/lunatik-5.3.2/lib/luaxdp.ko
1131975 CC [M] /usr/src/lunatik-5.3.2/lib/luafifo.mod.o
1131976 LD [M] /usr/src/lunatik-5.3.2/lib/luafifo.ko
1131977 BTF [M] /usr/src/lunatik-5.3.2/lib/luafifo.ko
1131978 CC [M] /usr/src/lunatik-5.3.2/lib/luaxtable.mod.o
1131979 LD [M] /usr/src/lunatik-5.3.2/lib/luaxtable.ko
1131980 BTF [M] /usr/src/lunatik-5.3.2/lib/luaxtable.ko
1131981 CC [M] /usr/src/lunatik-5.3.2/lib/luanetfilter.mod.o
1131982 LD [M] /usr/src/lunatik-5.3.2/lib/luanetfilter.ko
1131983 BTF [M] /usr/src/lunatik-5.3.2/lib/luanetfilter.ko
1131984 CC [M] /usr/src/lunatik-5.3.2/lib/luacompletion.mod.o
1131985 LD [M] /usr/src/lunatik-5.3.2/lib/luacompletion.ko
1131986 BTF [M] /usr/src/lunatik-5.3.2/lib/luacompletion.ko
1131987 make[2]: Leaving directory '/lib/modules/6.6.15-ipfire/build'
1131988 make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
1131989 cd /usr/src/lunatik-5.3.2 && make install
1131990 make[1]: Entering directory '/usr/src/lunatik-5.3.2'
1131991 mkdir -p -m 0755 /lib/modules/lua /lib/modules/lua/socket
1131992 mkdir -p -m 0755 /lib/modules/lua /lib/modules/lua/syscall
1131993 install -o root -g root -m 0644 driver.lua /lib/modules/lua/
1131994 install -o root -g root -m 0644 lib/mailbox.lua /lib/modules/lua/
1131995 install -o root -g root -m 0644 lib/socket/*.lua /lib/modules/lua/socket
1131996 install -o root -g root -m 0644 lib/syscall/*.lua /lib/modules/lua/syscall
1131997 install -o root -g root -m 0755 bin/lunatik /usr/sbin
1131998 mkdir -p -m 0755 /lib/modules/6.6.15-ipfire/lunatik
1131999 install -o root -g root -m 0644 *.ko lib/*.ko /lib/modules/6.6.15-ipfire/lunatik
1132000 depmod -a
1132001 make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
1132002 cd /usr/src/lunatik-5.3.2 && make examples_install
1132003 make[1]: Entering directory '/usr/src/lunatik-5.3.2'
1132004 mkdir -p -m 0755 /lib/modules/lua/examples
1132005 install -o root -g root -m 0644 examples/*.lua /lib/modules/lua/examples
1132006 mkdir -p -m 0755 /lib/modules/lua/examples/echod
1132007 install -o root -g root -m 0644 examples/echod/*.lua /lib/modules/lua/examples/echod
1132008 mkdir -p -m 0755 /lib/modules/lua/examples/filter
1132009 install -o root -g root -m 0644 examples/filter/*.lua /lib/modules/lua/examples/filter
1132010 mkdir -p -m 0755 /lib/modules/lua/examples/dnsblock
1132011 install -o root -g root -m 0644 examples/dnsblock/*.lua /lib/modules/lua/examples/dnsblock
1132012 mkdir -p -m 0755 /lib/modules/lua/examples/dnsdoctor
1132013 install -o root -g root -m 0644 examples/dnsdoctor/*.lua /lib/modules/lua/examples/dnsdoctor
1132014 make[1]: Leaving directory '/usr/src/lunatik-5.3.2'
1132015 cd /usr/src/lunatik-5.3.2/examples/filter && make
1132016 make[1]: Entering directory '/usr/src/lunatik-5.3.2/examples/filter'
1132017 bpftool btf dump file /sys/kernel/btf/vmlinux format c > vmlinux.h
1132018 clang -target bpf -Wall -O2 -c -g https.c
1132019 make[1]: Leaving directory '/usr/src/lunatik-5.3.2/examples/filter'
1132020 Updating linker cache...
1132021 Install done; saving file list to /usr/src/log/lunatik-5.3.2 ...
It looks like it's not finding some symbol in your kernel.. can you show dmesg? Are you sure you are building the modules against the same kernel version you are running?
can you also check your lunatik_sym.h
? it should look like this..
EXPORT_SYMBOL(lua_newstate);
EXPORT_SYMBOL(lua_close);
EXPORT_SYMBOL(lua_newthread);
EXPORT_SYMBOL(lua_closethread);
EXPORT_SYMBOL(lua_resetthread);
EXPORT_SYMBOL(lua_atpanic);
EXPORT_SYMBOL(lua_version);
EXPORT_SYMBOL(lua_absindex);
EXPORT_SYMBOL(lua_gettop);
EXPORT_SYMBOL(lua_settop);
EXPORT_SYMBOL(lua_pushvalue);
EXPORT_SYMBOL(lua_rotate);
EXPORT_SYMBOL(lua_copy);
EXPORT_SYMBOL(lua_checkstack);
EXPORT_SYMBOL(lua_xmove);
EXPORT_SYMBOL(lua_isnumber);
EXPORT_SYMBOL(lua_isstring);
EXPORT_SYMBOL(lua_iscfunction);
EXPORT_SYMBOL(lua_isinteger);
EXPORT_SYMBOL(lua_isuserdata);
EXPORT_SYMBOL(lua_type);
EXPORT_SYMBOL(lua_typename);
EXPORT_SYMBOL(lua_tointegerx);
EXPORT_SYMBOL(lua_toboolean);
EXPORT_SYMBOL(lua_tolstring);
EXPORT_SYMBOL(lua_rawlen);
EXPORT_SYMBOL(lua_tocfunction);
EXPORT_SYMBOL(lua_touserdata);
EXPORT_SYMBOL(lua_tothread);
EXPORT_SYMBOL(lua_topointer);
EXPORT_SYMBOL(lua_arith);
EXPORT_SYMBOL(lua_rawequal);
EXPORT_SYMBOL(lua_compare);
EXPORT_SYMBOL(lua_pushnil);
EXPORT_SYMBOL(lua_pushinteger);
EXPORT_SYMBOL(lua_pushlstring);
EXPORT_SYMBOL(lua_pushstring);
EXPORT_SYMBOL(lua_pushvfstring);
EXPORT_SYMBOL(lua_pushfstring);
EXPORT_SYMBOL(lua_pushcclosure);
EXPORT_SYMBOL(lua_pushboolean);
EXPORT_SYMBOL(lua_pushlightuserdata);
EXPORT_SYMBOL(lua_pushthread);
EXPORT_SYMBOL(lua_getglobal);
EXPORT_SYMBOL(lua_gettable);
EXPORT_SYMBOL(lua_getfield);
EXPORT_SYMBOL(lua_geti);
EXPORT_SYMBOL(lua_rawget);
EXPORT_SYMBOL(lua_rawgeti);
EXPORT_SYMBOL(lua_rawgetp);
EXPORT_SYMBOL(lua_createtable);
EXPORT_SYMBOL(lua_newuserdatauv);
EXPORT_SYMBOL(lua_getmetatable);
EXPORT_SYMBOL(lua_getiuservalue);
EXPORT_SYMBOL(lua_setglobal);
EXPORT_SYMBOL(lua_settable);
EXPORT_SYMBOL(lua_setfield);
EXPORT_SYMBOL(lua_seti);
EXPORT_SYMBOL(lua_rawset);
EXPORT_SYMBOL(lua_rawseti);
EXPORT_SYMBOL(lua_rawsetp);
EXPORT_SYMBOL(lua_setmetatable);
EXPORT_SYMBOL(lua_setiuservalue);
EXPORT_SYMBOL(lua_callk);
EXPORT_SYMBOL(lua_pcallk);
EXPORT_SYMBOL(lua_load);
EXPORT_SYMBOL(lua_dump);
EXPORT_SYMBOL(lua_yieldk);
EXPORT_SYMBOL(lua_resume);
EXPORT_SYMBOL(lua_status);
EXPORT_SYMBOL(lua_isyieldable);
EXPORT_SYMBOL(lua_setwarnf);
EXPORT_SYMBOL(lua_warning);
EXPORT_SYMBOL(lua_gc);
EXPORT_SYMBOL(lua_error);
EXPORT_SYMBOL(lua_next);
EXPORT_SYMBOL(lua_concat);
EXPORT_SYMBOL(lua_len);
EXPORT_SYMBOL(lua_stringtonumber);
EXPORT_SYMBOL(lua_getallocf);
EXPORT_SYMBOL(lua_setallocf);
EXPORT_SYMBOL(lua_toclose);
EXPORT_SYMBOL(lua_closeslot);
EXPORT_SYMBOL(lua_getstack);
EXPORT_SYMBOL(lua_getinfo);
EXPORT_SYMBOL(lua_getlocal);
EXPORT_SYMBOL(lua_setlocal);
EXPORT_SYMBOL(lua_getupvalue);
EXPORT_SYMBOL(lua_setupvalue);
EXPORT_SYMBOL(lua_upvalueid);
EXPORT_SYMBOL(lua_upvaluejoin);
EXPORT_SYMBOL(lua_sethook);
EXPORT_SYMBOL(lua_gethook);
EXPORT_SYMBOL(lua_gethookmask);
EXPORT_SYMBOL(lua_gethookcount);
EXPORT_SYMBOL(lua_setcstacklimit);
EXPORT_SYMBOL(luaL_checkversion_);
EXPORT_SYMBOL(luaL_getmetafield);
EXPORT_SYMBOL(luaL_callmeta);
EXPORT_SYMBOL(luaL_tolstring);
EXPORT_SYMBOL(luaL_argerror);
EXPORT_SYMBOL(luaL_typeerror);
EXPORT_SYMBOL(luaL_checklstring);
EXPORT_SYMBOL(luaL_optlstring);
EXPORT_SYMBOL(luaL_checknumber);
EXPORT_SYMBOL(luaL_optnumber);
EXPORT_SYMBOL(luaL_checkstack);
EXPORT_SYMBOL(luaL_checktype);
EXPORT_SYMBOL(luaL_checkany);
EXPORT_SYMBOL(luaL_newmetatable);
EXPORT_SYMBOL(luaL_setmetatable);
EXPORT_SYMBOL(luaL_testudata);
EXPORT_SYMBOL(luaL_checkudata);
EXPORT_SYMBOL(luaL_where);
EXPORT_SYMBOL(luaL_error);
EXPORT_SYMBOL(luaL_checkoption);
EXPORT_SYMBOL(luaL_ref);
EXPORT_SYMBOL(luaL_unref);
EXPORT_SYMBOL(luaL_loadbufferx);
EXPORT_SYMBOL(luaL_loadstring);
EXPORT_SYMBOL(luaL_newstate);
EXPORT_SYMBOL(luaL_len);
EXPORT_SYMBOL(luaL_addgsub);
EXPORT_SYMBOL(luaL_gsub);
EXPORT_SYMBOL(luaL_setfuncs);
EXPORT_SYMBOL(luaL_getsubtable);
EXPORT_SYMBOL(luaL_traceback);
EXPORT_SYMBOL(luaL_requiref);
EXPORT_SYMBOL(luaL_buffinit);
EXPORT_SYMBOL(luaL_prepbuffsize);
EXPORT_SYMBOL(luaL_addlstring);
EXPORT_SYMBOL(luaL_addstring);
EXPORT_SYMBOL(luaL_addvalue);
EXPORT_SYMBOL(luaL_pushresult);
EXPORT_SYMBOL(luaL_pushresultsize);
EXPORT_SYMBOL(luaL_buffinitsize);
EXPORT_SYMBOL(luaopen_base);
EXPORT_SYMBOL(luaopen_coroutine);
EXPORT_SYMBOL(luaopen_table);
EXPORT_SYMBOL(luaopen_string);
EXPORT_SYMBOL(luaopen_utf8);
EXPORT_SYMBOL(luaopen_math);
EXPORT_SYMBOL(luaopen_debug);
EXPORT_SYMBOL(luaopen_package);
EXPORT_SYMBOL(luaL_openlibs);
sorry missed
/
above in+all: $(LUA_API)lunatik_sym.h
, corrected the mistake, now making some progressroot@r210:/home/vincent/go/src/github.com/vincentmli/BPFire/cache/lunatik-5.3.2# git diff diff --git a/Makefile b/Makefile index ec172541..33580878 100644 --- a/Makefile +++ b/Makefile @@ -4,13 +4,13 @@ MODULES_INSTALL_PATH = /lib/modules/${shell uname -r} SCRIPTS_INSTALL_PATH = /lib/modules/lua LUNATIK_INSTALL_PATH = /usr/local/sbin -LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h +LUA_API = $(PWD)/lua/lua.h $(PWD)/lua/lauxlib.h $(PWD)/lua/lualib.h KDIR ?= ${MODULES_INSTALL_PATH}/build RM = rm -f MKDIR = mkdir -p -m 0755 INSTALL = install -o root -g root -all: lunatik_sym.h +all: $(LUA_API)/lunatik_sym.h ${MAKE} -C ${KDIR} M=${PWD} CONFIG_LUNATIK=m \ CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \ CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \ @@ -70,6 +70,6 @@ install: scripts_install modules_install uninstall: scripts_uninstall modules_uninstall depmod -a -lunatik_sym.h: $(LUA_API) +$(LUA_API)/lunatik_sym.h: $(LUA_API) ${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
I was actually suggesting:
-lunatik_sym.h: $(LUA_API)
+lunatik_sym.h:
${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
or just running by hand ./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h
before building it.. we use this rule only to update symbols automatically anytime we update Lua version.. it won't be your case..
can you also try out this patch and share the build error if any?
diff --git a/Makefile b/Makefile
index ec172541..b1e801fe 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,8 @@
MODULES_INSTALL_PATH = /lib/modules/${shell uname -r}
SCRIPTS_INSTALL_PATH = /lib/modules/lua
LUNATIK_INSTALL_PATH = /usr/local/sbin
-LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h
+LUA = ${PWD}/lua
+LUA_API = ${LUA}/lua.h ${LUA}/lauxlib.h ${LUA}/lualib.h
KDIR ?= ${MODULES_INSTALL_PATH}/build
RM = rm -f
MKDIR = mkdir -p -m 0755
I would like to make Lunatik build "chroot-friendly" ;-)
It looks like it's not finding some symbol in your kernel.. can you show dmesg? Are you sure you are building the modules against the same kernel version you are running?
here is dmesg, yes, the chroot built kernel is same as the running kernel, the build will package everything together as flash image and ISO, I install the ISO on physical machine to test, the ISO can also be installed as virtual guest in virtual environment. the error failed to validate module [lunatik] BTF: -22
seems to indicate BTF info missing for lunatik modules, right?
[43763.847199] BPF: [105867] ENUM _info
[43763.847208] BPF: size=4 vlen=46
[43763.847210] BPF:
[43763.847212] BPF: Invalid name
[43763.847214] BPF:
[43763.847220] failed to validate module [lunatik] BTF: -22
[43763.905024] BPF: [105867] ENUM _info
[43763.905033] BPF: size=4 vlen=46
[43763.905036] BPF:
[43763.905037] BPF: Invalid name
[43763.905039] BPF:
[43763.905046] failed to validate module [lunatik] BTF: -22
[43763.969863] BPF: [105867] ENUM _info
[43763.969872] BPF: size=4 vlen=46
[43763.969875] BPF:
[43763.969877] BPF: Invalid name
[43763.969878] BPF:
[43763.969885] failed to validate module [lunatik] BTF: -22
[43763.996682] luadevice: Unknown symbol lunatik_deleteobject (err -2)
[43763.996704] luadevice: Unknown symbol lua_pcallk (err -2)
[43763.996728] luadevice: Unknown symbol lua_getfield (err -2)
[43763.996746] luadevice: Unknown symbol lua_gettop (err -2)
[43763.996758] luadevice: Unknown symbol lua_tointegerx (err -2)
[43763.996771] luadevice: Unknown symbol lua_rotate (err -2)
[43763.996783] luadevice: Unknown symbol lua_setfield (err -2)
[43763.996796] luadevice: Unknown symbol lua_rawgetp (err -2)
[43763.996808] luadevice: Unknown symbol luaL_checkversion_ (err -2)
[43763.996823] luadevice: Unknown symbol lua_pushvalue (err -2)
[43763.996862] luadevice: Unknown symbol lua_pushnil (err -2)
[43763.996876] luadevice: Unknown symbol lua_rawsetp (err -2)
[43763.996889] luadevice: Unknown symbol luaL_error (err -2)
[43763.996903] luadevice: Unknown symbol lua_settop (err -2)
[43763.996921] luadevice: Unknown symbol lua_tolstring (err -2)
[43763.996941] luadevice: Unknown symbol luaL_newmetatable (err -2)
[43763.996957] luadevice: Unknown symbol luaL_pushresultsize (err -2)
[43763.996978] luadevice: Unknown symbol luaL_setfuncs (err -2)
[43763.996990] luadevice: Unknown symbol lunatik_newobject (err -2)
[43763.997003] luadevice: Unknown symbol luaL_optnumber (err -2)
[43763.997015] luadevice: Unknown symbol luaL_buffinitsize (err -2)
[43763.997027] luadevice: Unknown symbol luaL_checktype (err -2)
[43763.997040] luadevice: Unknown symbol lua_typename (err -2)
[43763.997054] luadevice: Unknown symbol lunatik_checkpobject (err -2)
[43763.997068] luadevice: Unknown symbol lua_createtable (err -2)
[43763.997082] luadevice: Unknown symbol lunatik_releaseobject (err -2)
[43763.997095] luadevice: Unknown symbol lua_pushinteger (err -2)
[43764.058455] BPF: [105867] ENUM _info
[43764.058464] BPF: size=4 vlen=46
[43764.058467] BPF:
[43764.058469] BPF: Invalid name
[43764.058471] BPF:
[43764.058477] failed to validate module [lunatik] BTF: -22
[43764.086365] lualinux: Unknown symbol lua_pushlightuserdata (err -2)
[43764.086394] lualinux: Unknown symbol lua_gettop (err -2)
[43764.086410] lualinux: Unknown symbol luaL_checklstring (err -2)
[43764.086423] lualinux: Unknown symbol lua_setfield (err -2)
[43764.086436] lualinux: Unknown symbol luaL_checkversion_ (err -2)
[43764.086451] lualinux: Unknown symbol luaL_error (err -2)
[43764.086463] lualinux: Unknown symbol lunatik_lookup (err -2)
[43764.086479] lualinux: Unknown symbol luaL_checknumber (err -2)
[43764.086503] lualinux: Unknown symbol lua_pushboolean (err -2)
[43764.086528] lualinux: Unknown symbol luaL_argerror (err -2)
[43764.086543] lualinux: Unknown symbol luaL_setfuncs (err -2)
[43764.086585] lualinux: Unknown symbol luaL_optnumber (err -2)
[43764.086599] lualinux: Unknown symbol lua_toboolean (err -2)
[43764.086615] lualinux: Unknown symbol lua_createtable (err -2)
[43764.086628] lualinux: Unknown symbol lua_pushinteger (err -2)
[43764.146264] BPF: [105867] ENUM _info
[43764.146273] BPF: size=4 vlen=46
[43764.146275] BPF:
[43764.146277] BPF: Invalid name
[43764.146279] BPF:
[43764.146286] failed to validate module [lunatik] BTF: -22
[43764.179733] luanotifier: Unknown symbol lua_pcallk (err -2)
[43764.179756] luanotifier: Unknown symbol lua_getfield (err -2)
[43764.179769] luanotifier: Unknown symbol lua_gettop (err -2)
[43764.179782] luanotifier: Unknown symbol lua_tointegerx (err -2)
[43764.179794] luanotifier: Unknown symbol lua_setfield (err -2)
[43764.179807] luanotifier: Unknown symbol lua_rawgetp (err -2)
[43764.179819] luanotifier: Unknown symbol luaL_checkversion_ (err -2)
[43764.179867] luanotifier: Unknown symbol lua_pushvalue (err -2)
[43764.179882] luanotifier: Unknown symbol lua_pushnil (err -2)
[43764.179896] luanotifier: Unknown symbol lua_rawsetp (err -2)
[43764.179909] luanotifier: Unknown symbol luaL_error (err -2)
[43764.179923] luanotifier: Unknown symbol lua_settop (err -2)
[43764.179939] luanotifier: Unknown symbol lua_tolstring (err -2)
[43764.179952] luanotifier: Unknown symbol lua_pushboolean (err -2)
[43764.179967] luanotifier: Unknown symbol luaL_newmetatable (err -2)
[43764.179987] luanotifier: Unknown symbol lua_pushstring (err -2)
[43764.180008] luanotifier: Unknown symbol luaL_setfuncs (err -2)
[43764.180022] luanotifier: Unknown symbol lunatik_newobject (err -2)
[43764.180035] luanotifier: Unknown symbol luaL_checktype (err -2)
[43764.180047] luanotifier: Unknown symbol lunatik_checkpobject (err -2)
[43764.180060] luanotifier: Unknown symbol lua_createtable (err -2)
[43764.180072] luanotifier: Unknown symbol lunatik_releaseobject (err -2)
[43764.180085] luanotifier: Unknown symbol lua_pushinteger (err -2)
[43764.240287] BPF: [105867] ENUM _info
[43764.240296] BPF: size=4 vlen=46
[43764.240299] BPF:
[43764.240301] BPF: Invalid name
[43764.240303] BPF:
[43764.240309] failed to validate module [lunatik] BTF: -22
[43764.268601] luasocket: Unknown symbol lunatik_closeobject (err -2)
[43764.268623] luasocket: Unknown symbol lunatik_deleteobject (err -2)
[43764.268636] luasocket: Unknown symbol lua_touserdata (err -2)
[43764.268649] luasocket: Unknown symbol lua_getfield (err -2)
[43764.268665] luasocket: Unknown symbol lua_gettop (err -2)
[43764.268678] luasocket: Unknown symbol luaL_checklstring (err -2)
[43764.268691] luasocket: Unknown symbol lua_setfield (err -2)
[43764.268707] luasocket: Unknown symbol luaL_checkversion_ (err -2)
[43764.268720] luasocket: Unknown symbol lua_pushlstring (err -2)
[43764.268735] luasocket: Unknown symbol lua_pushvalue (err -2)
[43764.268748] luasocket: Unknown symbol luaL_error (err -2)
[43764.268760] luasocket: Unknown symbol lua_settop (err -2)
[43764.268774] luasocket: Unknown symbol luaL_checknumber (err -2)
[43764.268787] luasocket: Unknown symbol lunatik_monitorobject (err -2)
[43764.268803] luasocket: Unknown symbol luaL_newmetatable (err -2)
[43764.268815] luasocket: Unknown symbol luaL_pushresultsize (err -2)
[43764.268829] luasocket: Unknown symbol lua_error (err -2)
[43764.268878] luasocket: Unknown symbol luaL_argerror (err -2)
[43764.268894] luasocket: Unknown symbol luaL_setfuncs (err -2)
[43764.268906] luasocket: Unknown symbol lunatik_newobject (err -2)
[43764.268919] luasocket: Unknown symbol luaL_optnumber (err -2)
[43764.268931] luasocket: Unknown symbol luaL_buffinitsize (err -2)
[43764.268945] luasocket: Unknown symbol lua_toboolean (err -2)
[43764.268957] luasocket: Unknown symbol lua_createtable (err -2)
[43764.268970] luasocket: Unknown symbol lua_pushinteger (err -2)
[43764.337723] BPF: [105867] ENUM _info
[43764.337732] BPF: size=4 vlen=46
[43764.337734] BPF:
[43764.337736] BPF: Invalid name
[43764.337738] BPF:
[43764.337744] failed to validate module [lunatik] BTF: -22
[43764.365339] luarcu: Unknown symbol lunatik_deleteobject (err -2)
[43764.365360] luarcu: Unknown symbol lua_pcallk (err -2)
[43764.365373] luarcu: Unknown symbol lua_touserdata (err -2)
[43764.365386] luarcu: Unknown symbol lua_pushlightuserdata (err -2)
[43764.365398] luarcu: Unknown symbol lunatik_createobject (err -2)
[43764.365420] luarcu: Unknown symbol lua_getfield (err -2)
[43764.365434] luarcu: Unknown symbol luaL_checklstring (err -2)
[43764.365447] luarcu: Unknown symbol lua_setfield (err -2)
[43764.365459] luarcu: Unknown symbol luaL_checkversion_ (err -2)
[43764.365477] luarcu: Unknown symbol lua_pushvalue (err -2)
[43764.365490] luarcu: Unknown symbol lunatik_cloneobject (err -2)
[43764.365502] luarcu: Unknown symbol lua_pushnil (err -2)
[43764.365515] luarcu: Unknown symbol luaL_error (err -2)
[43764.365527] luarcu: Unknown symbol lua_settop (err -2)
[43764.365540] luarcu: Unknown symbol lua_pushcclosure (err -2)
[43764.365558] luarcu: Unknown symbol lua_type (err -2)
[43764.365574] luarcu: Unknown symbol luaL_newmetatable (err -2)
[43764.365593] luarcu: Unknown symbol lua_error (err -2)
[43764.365608] luarcu: Unknown symbol lua_pushstring (err -2)
[43764.365625] luarcu: Unknown symbol luaS_hash (err -2)
[43764.365638] luarcu: Unknown symbol luaL_setfuncs (err -2)
[43764.365650] luarcu: Unknown symbol lunatik_newobject (err -2)
[43764.365663] luarcu: Unknown symbol luaL_optnumber (err -2)
[43764.365675] luarcu: Unknown symbol lua_callk (err -2)
[43764.365689] luarcu: Unknown symbol luaL_checktype (err -2)
[43764.365705] luarcu: Unknown symbol lunatik_checkpobject (err -2)
[43764.365717] luarcu: Unknown symbol lua_createtable (err -2)
[43764.365730] luarcu: Unknown symbol lunatik_releaseobject (err -2)
[43764.423599] BPF: [105867] ENUM _info
[43764.423608] BPF: size=4 vlen=46
[43764.423611] BPF:
[43764.423612] BPF: Invalid name
[43764.423614] BPF:
[43764.423621] failed to validate module [lunatik] BTF: -22
[43764.453094] luathread: Unknown symbol lua_resume (err -2)
[43764.453116] luathread: Unknown symbol lunatik_deleteobject (err -2)
[43764.453129] luathread: Unknown symbol lua_touserdata (err -2)
[43764.453142] luathread: Unknown symbol lua_getfield (err -2)
[43764.453154] luathread: Unknown symbol lua_gettop (err -2)
[43764.453170] luathread: Unknown symbol luaL_checklstring (err -2)
[43764.453182] luathread: Unknown symbol lua_setfield (err -2)
[43764.453197] luathread: Unknown symbol luaL_checkversion_ (err -2)
[43764.453216] luathread: Unknown symbol lua_pushvalue (err -2)
[43764.453228] luathread: Unknown symbol luaL_error (err -2)
[43764.453243] luathread: Unknown symbol lua_settop (err -2)
[43764.453261] luathread: Unknown symbol lua_tolstring (err -2)
[43764.453274] luathread: Unknown symbol lunatik_monitorobject (err -2)
[43764.453286] luathread: Unknown symbol lua_pushboolean (err -2)
[43764.453299] luathread: Unknown symbol luaL_newmetatable (err -2)
[43764.453318] luathread: Unknown symbol lua_pushstring (err -2)
[43764.453332] luathread: Unknown symbol luaL_argerror (err -2)
[43764.453346] luathread: Unknown symbol luaL_setfuncs (err -2)
[43764.453359] luathread: Unknown symbol lunatik_newobject (err -2)
[43764.453371] luathread: Unknown symbol lunatik_checkpobject (err -2)
[43764.453384] luathread: Unknown symbol lua_createtable (err -2)
[43764.453396] luathread: Unknown symbol lunatik_releaseobject (err -2)
[43764.453409] luathread: Unknown symbol lua_pushinteger (err -2)
[43764.512516] BPF: [105867] ENUM _info
[43764.512525] BPF: size=4 vlen=46
[43764.512528] BPF:
[43764.512530] BPF: Invalid name
[43764.512532] BPF:
[43764.512538] failed to validate module [lunatik] BTF: -22
[43764.540207] luafib: Unknown symbol lua_getfield (err -2)
[43764.540229] luafib: Unknown symbol lua_setfield (err -2)
[43764.540243] luafib: Unknown symbol luaL_checkversion_ (err -2)
[43764.540258] luafib: Unknown symbol lua_pushvalue (err -2)
[43764.540272] luafib: Unknown symbol luaL_error (err -2)
[43764.540284] luafib: Unknown symbol lua_settop (err -2)
[43764.540299] luafib: Unknown symbol luaL_checknumber (err -2)
[43764.540322] luafib: Unknown symbol luaL_newmetatable (err -2)
[43764.540340] luafib: Unknown symbol luaL_setfuncs (err -2)
[43764.540353] luafib: Unknown symbol lua_createtable (err -2)
[43764.600159] BPF: [105867] ENUM _info
[43764.600168] BPF: size=4 vlen=46
[43764.600171] BPF:
[43764.600173] BPF: Invalid name
[43764.600174] BPF:
[43764.600181] failed to validate module [lunatik] BTF: -22
[43764.627524] luadata: Unknown symbol lunatik_deleteobject (err -2)
[43764.627545] luadata: Unknown symbol lua_touserdata (err -2)
[43764.627559] luadata: Unknown symbol lua_getallocf (err -2)
[43764.627571] luadata: Unknown symbol lunatik_createobject (err -2)
[43764.627584] luadata: Unknown symbol lua_getfield (err -2)
[43764.627601] luadata: Unknown symbol luaL_checklstring (err -2)
[43764.627614] luadata: Unknown symbol lua_setfield (err -2)
[43764.627626] luadata: Unknown symbol luaL_checkversion_ (err -2)
[43764.627638] luadata: Unknown symbol lua_pushlstring (err -2)
[43764.627654] luadata: Unknown symbol lua_pushvalue (err -2)
[43764.627668] luadata: Unknown symbol luaL_error (err -2)
[43764.627680] luadata: Unknown symbol lua_settop (err -2)
[43764.627697] luadata: Unknown symbol luaL_checknumber (err -2)
[43764.627709] luadata: Unknown symbol lunatik_monitorobject (err -2)
[43764.627722] luadata: Unknown symbol luaL_newmetatable (err -2)
[43764.627737] luadata: Unknown symbol luaL_argerror (err -2)
[43764.627752] luadata: Unknown symbol luaL_setfuncs (err -2)
[43764.627764] luadata: Unknown symbol lunatik_newobject (err -2)
[43764.627777] luadata: Unknown symbol luaL_optnumber (err -2)
[43764.627789] luadata: Unknown symbol lua_createtable (err -2)
[43764.627802] luadata: Unknown symbol lua_pushinteger (err -2)
[43764.682072] BPF: [105867] ENUM _info
[43764.682081] BPF: size=4 vlen=46
[43764.682083] BPF:
[43764.682085] BPF: Invalid name
[43764.682087] BPF:
[43764.682094] failed to validate module [lunatik] BTF: -22
[43764.709471] luaprobe: Unknown symbol lunatik_deleteobject (err -2)
[43764.709493] luaprobe: Unknown symbol lua_pcallk (err -2)
[43764.709506] luaprobe: Unknown symbol lua_touserdata (err -2)
[43764.709519] luaprobe: Unknown symbol lua_pushlightuserdata (err -2)
[43764.709532] luaprobe: Unknown symbol lua_getfield (err -2)
[43764.709550] luaprobe: Unknown symbol lua_gettop (err -2)
[43764.709565] luaprobe: Unknown symbol lua_rotate (err -2)
[43764.709577] luaprobe: Unknown symbol luaL_checklstring (err -2)
[43764.709590] luaprobe: Unknown symbol lua_setfield (err -2)
[43764.709602] luaprobe: Unknown symbol lua_rawgetp (err -2)
[43764.709614] luaprobe: Unknown symbol luaL_checkversion_ (err -2)
[43764.709630] luaprobe: Unknown symbol lua_pushvalue (err -2)
[43764.709643] luaprobe: Unknown symbol lua_pushnil (err -2)
[43764.709657] luaprobe: Unknown symbol lua_rawsetp (err -2)
[43764.709670] luaprobe: Unknown symbol luaL_error (err -2)
[43764.709685] luaprobe: Unknown symbol lua_settop (err -2)
[43764.709697] luaprobe: Unknown symbol lunatik_lookup (err -2)
[43764.709710] luaprobe: Unknown symbol lua_pushcclosure (err -2)
[43764.709728] luaprobe: Unknown symbol lua_tolstring (err -2)
[43764.709741] luaprobe: Unknown symbol lua_type (err -2)
[43764.709755] luaprobe: Unknown symbol luaL_newmetatable (err -2)
[43764.709771] luaprobe: Unknown symbol lua_pushstring (err -2)
[43764.709784] luaprobe: Unknown symbol luaL_argerror (err -2)
[43764.709802] luaprobe: Unknown symbol lua_setupvalue (err -2)
[43764.709815] luaprobe: Unknown symbol luaL_setfuncs (err -2)
[43764.709827] luaprobe: Unknown symbol lunatik_newobject (err -2)
[43764.709868] luaprobe: Unknown symbol luaL_checktype (err -2)
[43764.709882] luaprobe: Unknown symbol lua_toboolean (err -2)
[43764.709899] luaprobe: Unknown symbol lunatik_checkpobject (err -2)
[43764.709911] luaprobe: Unknown symbol lua_createtable (err -2)
[43764.709924] luaprobe: Unknown symbol lunatik_releaseobject (err -2)
[43764.773432] BPF: [105867] ENUM _info
[43764.773438] BPF: size=4 vlen=46
[43764.773441] BPF:
[43764.773443] BPF: Invalid name
[43764.773445] BPF:
[43764.773451] failed to validate module [lunatik] BTF: -22
[43764.803069] luasyscall: Unknown symbol lua_pushlightuserdata (err -2)
[43764.803091] luasyscall: Unknown symbol lua_setfield (err -2)
[43764.803104] luasyscall: Unknown symbol luaL_checkversion_ (err -2)
[43764.803120] luasyscall: Unknown symbol lunatik_lookup (err -2)
[43764.803132] luasyscall: Unknown symbol luaL_checknumber (err -2)
[43764.803147] luasyscall: Unknown symbol luaL_argerror (err -2)
[43764.803160] luasyscall: Unknown symbol luaL_setfuncs (err -2)
[43764.803172] luasyscall: Unknown symbol lua_createtable (err -2)
[43764.803185] luasyscall: Unknown symbol lua_pushinteger (err -2)
[43764.861063] BPF: [105867] ENUM _info
[43764.861073] BPF: size=4 vlen=46
[43764.861076] BPF:
[43764.861077] BPF: Invalid name
[43764.861079] BPF:
[43764.861086] failed to validate module [lunatik] BTF: -22
[43764.889293] luaxdp: Unknown symbol luarcu_gettable (err -2)
[43764.889315] luaxdp: Unknown symbol lua_pcallk (err -2)
[43764.889329] luaxdp: Unknown symbol lua_touserdata (err -2)
[43764.889341] luaxdp: Unknown symbol lua_pushlightuserdata (err -2)
[43764.889354] luaxdp: Unknown symbol luadata_new (err -2)
[43764.889366] luaxdp: Unknown symbol lua_gettop (err -2)
[43764.889378] luaxdp: Unknown symbol lua_tointegerx (err -2)
[43764.889391] luaxdp: Unknown symbol lua_setfield (err -2)
[43764.889403] luaxdp: Unknown symbol lua_rawgetp (err -2)
[43764.889416] luaxdp: Unknown symbol luaL_checkversion_ (err -2)
[43764.889432] luaxdp: Unknown symbol lua_pushvalue (err -2)
[43764.889445] luaxdp: Unknown symbol lunatik_cloneobject (err -2)
[43764.889457] luaxdp: Unknown symbol lunatik_runtimes (err -2)
[43764.889470] luaxdp: Unknown symbol lua_pushnil (err -2)
[43764.889482] luaxdp: Unknown symbol lua_rawsetp (err -2)
[43764.889494] luaxdp: Unknown symbol luaL_error (err -2)
[43764.889509] luaxdp: Unknown symbol lua_settop (err -2)
[43764.889522] luaxdp: Unknown symbol lua_pushcclosure (err -2)
[43764.889538] luaxdp: Unknown symbol lua_tolstring (err -2)
[43764.889550] luaxdp: Unknown symbol luaopen_data (err -2)
[43764.889564] luaxdp: Unknown symbol luaL_requiref (err -2)
[43764.889577] luaxdp: Unknown symbol luadata_reset (err -2)
[43764.889589] luaxdp: Unknown symbol lua_error (err -2)
[43764.889610] luaxdp: Unknown symbol luaL_setfuncs (err -2)
[43764.889622] luaxdp: Unknown symbol luaL_checktype (err -2)
[43764.889634] luaxdp: Unknown symbol lua_createtable (err -2)
[43764.889647] luaxdp: Unknown symbol lunatik_releaseobject (err -2)
[43764.889659] luaxdp: Unknown symbol lua_pushinteger (err -2)
[43764.952673] BPF: [105867] ENUM _info
[43764.952682] BPF: size=4 vlen=46
[43764.952685] BPF:
[43764.952687] BPF: Invalid name
[43764.952689] BPF:
[43764.952696] failed to validate module [lunatik] BTF: -22
[43764.981337] luafifo: Unknown symbol lunatik_closeobject (err -2)
[43764.981359] luafifo: Unknown symbol lunatik_deleteobject (err -2)
[43764.981372] luafifo: Unknown symbol lua_touserdata (err -2)
[43764.981385] luafifo: Unknown symbol lua_getfield (err -2)
[43764.981401] luafifo: Unknown symbol luaL_checklstring (err -2)
[43764.981414] luafifo: Unknown symbol lua_setfield (err -2)
[43764.981426] luafifo: Unknown symbol luaL_checkversion_ (err -2)
[43764.981442] luafifo: Unknown symbol lua_pushvalue (err -2)
[43764.981455] luafifo: Unknown symbol luaL_error (err -2)
[43764.981467] luafifo: Unknown symbol lua_settop (err -2)
[43764.981483] luafifo: Unknown symbol luaL_checknumber (err -2)
[43764.981500] luafifo: Unknown symbol lunatik_monitorobject (err -2)
[43764.981513] luafifo: Unknown symbol luaL_newmetatable (err -2)
[43764.981525] luafifo: Unknown symbol luaL_pushresultsize (err -2)
[43764.981540] luafifo: Unknown symbol luaL_argerror (err -2)
[43764.981553] luafifo: Unknown symbol luaL_setfuncs (err -2)
[43764.981565] luafifo: Unknown symbol lunatik_newobject (err -2)
[43764.981577] luafifo: Unknown symbol luaL_buffinitsize (err -2)
[43764.981592] luafifo: Unknown symbol lua_createtable (err -2)
[43764.981605] luafifo: Unknown symbol lua_pushinteger (err -2)
[43765.043167] BPF: [105867] ENUM _info
[43765.043176] BPF: size=4 vlen=46
[43765.043179] BPF:
[43765.043181] BPF: Invalid name
[43765.043183] BPF:
[43765.043190] failed to validate module [lunatik] BTF: -22
[43765.071431] luaxtable: Unknown symbol luarcu_gettable (err -2)
[43765.071453] luaxtable: Unknown symbol lunatik_deleteobject (err -2)
[43765.071467] luaxtable: Unknown symbol lua_pcallk (err -2)
[43765.071480] luaxtable: Unknown symbol lua_touserdata (err -2)
[43765.071496] luaxtable: Unknown symbol lua_getfield (err -2)
[43765.071509] luaxtable: Unknown symbol luadata_new (err -2)
[43765.071521] luaxtable: Unknown symbol luarcu_settable (err -2)
[43765.071534] luaxtable: Unknown symbol lua_gettop (err -2)
[43765.071546] luaxtable: Unknown symbol lua_tointegerx (err -2)
[43765.071559] luaxtable: Unknown symbol lua_rotate (err -2)
[43765.071571] luaxtable: Unknown symbol lua_setfield (err -2)
[43765.071584] luaxtable: Unknown symbol lua_rawgetp (err -2)
[43765.071597] luaxtable: Unknown symbol luaL_checkversion_ (err -2)
[43765.071609] luaxtable: Unknown symbol lua_pushlstring (err -2)
[43765.071625] luaxtable: Unknown symbol lua_pushvalue (err -2)
[43765.071638] luaxtable: Unknown symbol lunatik_cloneobject (err -2)
[43765.071650] luaxtable: Unknown symbol lua_rawsetp (err -2)
[43765.071663] luaxtable: Unknown symbol luaL_error (err -2)
[43765.071678] luaxtable: Unknown symbol lua_settop (err -2)
[43765.071697] luaxtable: Unknown symbol lua_tolstring (err -2)
[43765.071710] luaxtable: Unknown symbol lua_pushboolean (err -2)
[43765.071724] luaxtable: Unknown symbol luaopen_data (err -2)
[43765.071737] luaxtable: Unknown symbol luaL_newmetatable (err -2)
[43765.071753] luaxtable: Unknown symbol luaL_requiref (err -2)
[43765.071766] luaxtable: Unknown symbol luadata_reset (err -2)
[43765.071784] luaxtable: Unknown symbol luarcu_newtable (err -2)
[43765.071797] luaxtable: Unknown symbol luaL_setfuncs (err -2)
[43765.071810] luaxtable: Unknown symbol lunatik_newobject (err -2)
[43765.071822] luaxtable: Unknown symbol luaL_checktype (err -2)
[43765.071855] luaxtable: Unknown symbol lua_toboolean (err -2)
[43765.071870] luaxtable: Unknown symbol lua_typename (err -2)
[43765.071882] luaxtable: Unknown symbol lua_createtable (err -2)
[43765.071895] luaxtable: Unknown symbol lunatik_releaseobject (err -2)
[43765.071909] luaxtable: Unknown symbol lua_pushinteger (err -2)
[43765.132042] BPF: [105867] ENUM _info
[43765.132051] BPF: size=4 vlen=46
[43765.132054] BPF:
[43765.132056] BPF: Invalid name
[43765.132057] BPF:
[43765.132064] failed to validate module [lunatik] BTF: -22
[43765.160748] luanetfilter: Unknown symbol lunatik_deleteobject (err -2)
[43765.160770] luanetfilter: Unknown symbol lua_pcallk (err -2)
[43765.160783] luanetfilter: Unknown symbol lua_touserdata (err -2)
[43765.160796] luanetfilter: Unknown symbol lua_getfield (err -2)
[43765.160808] luanetfilter: Unknown symbol luadata_new (err -2)
[43765.160821] luanetfilter: Unknown symbol lua_gettop (err -2)
[43765.160865] luanetfilter: Unknown symbol lua_tointegerx (err -2)
[43765.160880] luanetfilter: Unknown symbol lua_setfield (err -2)
[43765.160893] luanetfilter: Unknown symbol lua_rawgetp (err -2)
[43765.160905] luanetfilter: Unknown symbol luaL_checkversion_ (err -2)
[43765.160922] luanetfilter: Unknown symbol lua_pushvalue (err -2)
[43765.160935] luanetfilter: Unknown symbol lunatik_cloneobject (err -2)
[43765.160947] luanetfilter: Unknown symbol lua_rawsetp (err -2)
[43765.160960] luanetfilter: Unknown symbol luaL_error (err -2)
[43765.160975] luanetfilter: Unknown symbol lua_settop (err -2)
[43765.160991] luanetfilter: Unknown symbol lua_tolstring (err -2)
[43765.161010] luanetfilter: Unknown symbol luaopen_data (err -2)
[43765.161023] luanetfilter: Unknown symbol luaL_newmetatable (err -2)
[43765.161038] luanetfilter: Unknown symbol luaL_requiref (err -2)
[43765.161051] luanetfilter: Unknown symbol luadata_reset (err -2)
[43765.161070] luanetfilter: Unknown symbol luaL_setfuncs (err -2)
[43765.161082] luanetfilter: Unknown symbol lunatik_newobject (err -2)
[43765.161095] luanetfilter: Unknown symbol luaL_checktype (err -2)
[43765.161107] luanetfilter: Unknown symbol lua_typename (err -2)
[43765.161120] luanetfilter: Unknown symbol lua_createtable (err -2)
[43765.161133] luanetfilter: Unknown symbol lunatik_releaseobject (err -2)
[43765.161145] luanetfilter: Unknown symbol lua_pushinteger (err -2)
[43765.219810] BPF: [105867] ENUM _info
[43765.219819] BPF: size=4 vlen=46
[43765.219822] BPF:
[43765.219824] BPF: Invalid name
[43765.219826] BPF:
[43765.219845] failed to validate module [lunatik] BTF: -22
[43765.247933] luacompletion: Unknown symbol lunatik_deleteobject (err -2)
[43765.247960] luacompletion: Unknown symbol lua_getfield (err -2)
[43765.247975] luacompletion: Unknown symbol lua_setfield (err -2)
[43765.247988] luacompletion: Unknown symbol luaL_checkversion_ (err -2)
[43765.248003] luacompletion: Unknown symbol lua_pushvalue (err -2)
[43765.248016] luacompletion: Unknown symbol lua_pushnil (err -2)
[43765.248031] luacompletion: Unknown symbol luaL_error (err -2)
[43765.248044] luacompletion: Unknown symbol lua_settop (err -2)
[43765.248056] luacompletion: Unknown symbol lua_pushboolean (err -2)
[43765.248069] luacompletion: Unknown symbol luaL_newmetatable (err -2)
[43765.248084] luacompletion: Unknown symbol lua_pushstring (err -2)
[43765.248097] luacompletion: Unknown symbol luaL_setfuncs (err -2)
[43765.248109] luacompletion: Unknown symbol lunatik_newobject (err -2)
[43765.248122] luacompletion: Unknown symbol luaL_optnumber (err -2)
[43765.248134] luacompletion: Unknown symbol lunatik_checkpobject (err -2)
[43765.248147] luacompletion: Unknown symbol lua_createtable (err -2)
[43765.311869] BPF: [105867] ENUM _info
[43765.311878] BPF: size=4 vlen=46
[43765.311881] BPF:
[43765.311883] BPF: Invalid name
[43765.311885] BPF:
[43765.311890] failed to validate module [lunatik] BTF: -22
[43765.340485] lunatik_run: Unknown symbol lunatik_runtimes (err -2)
[43765.340508] lunatik_run: Unknown symbol lunatik_runtime (err -2)
[43765.340524] lunatik_run: Unknown symbol lunatik_stop (err -2)
[43765.340537] lunatik_run: Unknown symbol luarcu_newtable (err -2)
[43765.340549] lunatik_run: Unknown symbol lunatik_releaseobject (err -2)
It looks like it's not finding some symbol in your kernel.. can you show dmesg? Are you sure you are building the modules against the same kernel version you are running?
here is dmesg, yes, the chroot built kernel is same as the running kernel, the build will package everything together as flash image and ISO, I install the ISO on physical machine to test, the ISO can also be installed as virtual guest in virtual environment. the error
failed to validate module [lunatik] BTF: -22
seems to indicate BTF info missing for lunatik modules, right?
built kernel source kernel/bpf/btf.c
has:
case MODULE_STATE_COMING:
btf_mod = kzalloc(sizeof(*btf_mod), GFP_KERNEL);
if (!btf_mod) {
err = -ENOMEM;
goto out;
}
btf = btf_parse_module(mod->name, mod->btf_data, mod->btf_data_size);
if (IS_ERR(btf)) {
kfree(btf_mod);
if (!IS_ENABLED(CONFIG_MODULE_ALLOW_BTF_MISMATCH)) {
pr_warn("failed to validate module [%s] BTF: %ld\n",
mod->name, PTR_ERR(btf));
err = PTR_ERR(btf);
} else {
pr_warn_once("Kernel module BTF mismatch detected, BTF debug info may be unavailable for some modules\n");
}
goto out;
}
and the running kernel has
[root@bpfire-2 ~]# grep 'MISMATCH' /boot/config-6.6.15-ipfire
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
I will try CONFIG_MODULE_ALLOW_BTF_MISMATCH=y
first :)
Ack; but it seems to me that these are two no related issues.. one is BTF and another is EXPORT_SYMBOL; I would try to fix the latter first.. I would also try to firstly run lunatik without eBPF.. then, I would go to fix BTF.. btw, on Ubuntu I fix it with make btf_install
before building lunatik
ok got it, how to run lunatik without eBPF?
You can run any example. Especially, you can just run the lunatik prompt (sudo lunatik
) and type Lua code directly (e.g., > return 42
)
can you also check your
lunatik_sym.h
? it should look like this..EXPORT_SYMBOL(lua_newstate); EXPORT_SYMBOL(lua_close); EXPORT_SYMBOL(lua_newthread); EXPORT_SYMBOL(lua_closethread); EXPORT_SYMBOL(lua_resetthread); EXPORT_SYMBOL(lua_atpanic); EXPORT_SYMBOL(lua_version); EXPORT_SYMBOL(lua_absindex); EXPORT_SYMBOL(lua_gettop); EXPORT_SYMBOL(lua_settop); EXPORT_SYMBOL(lua_pushvalue); EXPORT_SYMBOL(lua_rotate); EXPORT_SYMBOL(lua_copy); EXPORT_SYMBOL(lua_checkstack); EXPORT_SYMBOL(lua_xmove); EXPORT_SYMBOL(lua_isnumber); EXPORT_SYMBOL(lua_isstring); EXPORT_SYMBOL(lua_iscfunction); EXPORT_SYMBOL(lua_isinteger); EXPORT_SYMBOL(lua_isuserdata); EXPORT_SYMBOL(lua_type); EXPORT_SYMBOL(lua_typename); EXPORT_SYMBOL(lua_tointegerx); EXPORT_SYMBOL(lua_toboolean); EXPORT_SYMBOL(lua_tolstring); EXPORT_SYMBOL(lua_rawlen); EXPORT_SYMBOL(lua_tocfunction); EXPORT_SYMBOL(lua_touserdata); EXPORT_SYMBOL(lua_tothread); EXPORT_SYMBOL(lua_topointer); EXPORT_SYMBOL(lua_arith); EXPORT_SYMBOL(lua_rawequal); EXPORT_SYMBOL(lua_compare); EXPORT_SYMBOL(lua_pushnil); EXPORT_SYMBOL(lua_pushinteger); EXPORT_SYMBOL(lua_pushlstring); EXPORT_SYMBOL(lua_pushstring); EXPORT_SYMBOL(lua_pushvfstring); EXPORT_SYMBOL(lua_pushfstring); EXPORT_SYMBOL(lua_pushcclosure); EXPORT_SYMBOL(lua_pushboolean); EXPORT_SYMBOL(lua_pushlightuserdata); EXPORT_SYMBOL(lua_pushthread); EXPORT_SYMBOL(lua_getglobal); EXPORT_SYMBOL(lua_gettable); EXPORT_SYMBOL(lua_getfield); EXPORT_SYMBOL(lua_geti); EXPORT_SYMBOL(lua_rawget); EXPORT_SYMBOL(lua_rawgeti); EXPORT_SYMBOL(lua_rawgetp); EXPORT_SYMBOL(lua_createtable); EXPORT_SYMBOL(lua_newuserdatauv); EXPORT_SYMBOL(lua_getmetatable); EXPORT_SYMBOL(lua_getiuservalue); EXPORT_SYMBOL(lua_setglobal); EXPORT_SYMBOL(lua_settable); EXPORT_SYMBOL(lua_setfield); EXPORT_SYMBOL(lua_seti); EXPORT_SYMBOL(lua_rawset); EXPORT_SYMBOL(lua_rawseti); EXPORT_SYMBOL(lua_rawsetp); EXPORT_SYMBOL(lua_setmetatable); EXPORT_SYMBOL(lua_setiuservalue); EXPORT_SYMBOL(lua_callk); EXPORT_SYMBOL(lua_pcallk); EXPORT_SYMBOL(lua_load); EXPORT_SYMBOL(lua_dump); EXPORT_SYMBOL(lua_yieldk); EXPORT_SYMBOL(lua_resume); EXPORT_SYMBOL(lua_status); EXPORT_SYMBOL(lua_isyieldable); EXPORT_SYMBOL(lua_setwarnf); EXPORT_SYMBOL(lua_warning); EXPORT_SYMBOL(lua_gc); EXPORT_SYMBOL(lua_error); EXPORT_SYMBOL(lua_next); EXPORT_SYMBOL(lua_concat); EXPORT_SYMBOL(lua_len); EXPORT_SYMBOL(lua_stringtonumber); EXPORT_SYMBOL(lua_getallocf); EXPORT_SYMBOL(lua_setallocf); EXPORT_SYMBOL(lua_toclose); EXPORT_SYMBOL(lua_closeslot); EXPORT_SYMBOL(lua_getstack); EXPORT_SYMBOL(lua_getinfo); EXPORT_SYMBOL(lua_getlocal); EXPORT_SYMBOL(lua_setlocal); EXPORT_SYMBOL(lua_getupvalue); EXPORT_SYMBOL(lua_setupvalue); EXPORT_SYMBOL(lua_upvalueid); EXPORT_SYMBOL(lua_upvaluejoin); EXPORT_SYMBOL(lua_sethook); EXPORT_SYMBOL(lua_gethook); EXPORT_SYMBOL(lua_gethookmask); EXPORT_SYMBOL(lua_gethookcount); EXPORT_SYMBOL(lua_setcstacklimit); EXPORT_SYMBOL(luaL_checkversion_); EXPORT_SYMBOL(luaL_getmetafield); EXPORT_SYMBOL(luaL_callmeta); EXPORT_SYMBOL(luaL_tolstring); EXPORT_SYMBOL(luaL_argerror); EXPORT_SYMBOL(luaL_typeerror); EXPORT_SYMBOL(luaL_checklstring); EXPORT_SYMBOL(luaL_optlstring); EXPORT_SYMBOL(luaL_checknumber); EXPORT_SYMBOL(luaL_optnumber); EXPORT_SYMBOL(luaL_checkstack); EXPORT_SYMBOL(luaL_checktype); EXPORT_SYMBOL(luaL_checkany); EXPORT_SYMBOL(luaL_newmetatable); EXPORT_SYMBOL(luaL_setmetatable); EXPORT_SYMBOL(luaL_testudata); EXPORT_SYMBOL(luaL_checkudata); EXPORT_SYMBOL(luaL_where); EXPORT_SYMBOL(luaL_error); EXPORT_SYMBOL(luaL_checkoption); EXPORT_SYMBOL(luaL_ref); EXPORT_SYMBOL(luaL_unref); EXPORT_SYMBOL(luaL_loadbufferx); EXPORT_SYMBOL(luaL_loadstring); EXPORT_SYMBOL(luaL_newstate); EXPORT_SYMBOL(luaL_len); EXPORT_SYMBOL(luaL_addgsub); EXPORT_SYMBOL(luaL_gsub); EXPORT_SYMBOL(luaL_setfuncs); EXPORT_SYMBOL(luaL_getsubtable); EXPORT_SYMBOL(luaL_traceback); EXPORT_SYMBOL(luaL_requiref); EXPORT_SYMBOL(luaL_buffinit); EXPORT_SYMBOL(luaL_prepbuffsize); EXPORT_SYMBOL(luaL_addlstring); EXPORT_SYMBOL(luaL_addstring); EXPORT_SYMBOL(luaL_addvalue); EXPORT_SYMBOL(luaL_pushresult); EXPORT_SYMBOL(luaL_pushresultsize); EXPORT_SYMBOL(luaL_buffinitsize); EXPORT_SYMBOL(luaopen_base); EXPORT_SYMBOL(luaopen_coroutine); EXPORT_SYMBOL(luaopen_table); EXPORT_SYMBOL(luaopen_string); EXPORT_SYMBOL(luaopen_utf8); EXPORT_SYMBOL(luaopen_math); EXPORT_SYMBOL(luaopen_debug); EXPORT_SYMBOL(luaopen_package); EXPORT_SYMBOL(luaL_openlibs);
Did you check this?
can you also check your
lunatik_sym.h
? it should look like this..
where is lunatik_sym.h
located? in the build system or in the running system?
In the building system.. at the lunatik root source directory..
ah, the lunatik root source is deleted automatically after built in chroot build, need to check how not to delete it
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && make btf_install
cd $(DIR_APP) && make
cd $(DIR_APP) && make install
cd $(DIR_APP) && make examples_install
cd $(DIR_APP)/examples/filter && make
@rm -rf $(DIR_APP)
@$(POSTBUILD)
remove the @rm -rf $(DIR_APP)
should do it
sorry missed
/
above in+all: $(LUA_API)lunatik_sym.h
, corrected the mistake, now making some progressroot@r210:/home/vincent/go/src/github.com/vincentmli/BPFire/cache/lunatik-5.3.2# git diff diff --git a/Makefile b/Makefile index ec172541..33580878 100644 --- a/Makefile +++ b/Makefile @@ -4,13 +4,13 @@ MODULES_INSTALL_PATH = /lib/modules/${shell uname -r} SCRIPTS_INSTALL_PATH = /lib/modules/lua LUNATIK_INSTALL_PATH = /usr/local/sbin -LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h +LUA_API = $(PWD)/lua/lua.h $(PWD)/lua/lauxlib.h $(PWD)/lua/lualib.h KDIR ?= ${MODULES_INSTALL_PATH}/build RM = rm -f MKDIR = mkdir -p -m 0755 INSTALL = install -o root -g root -all: lunatik_sym.h +all: $(LUA_API)/lunatik_sym.h ${MAKE} -C ${KDIR} M=${PWD} CONFIG_LUNATIK=m \ CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \ CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \ @@ -70,6 +70,6 @@ install: scripts_install modules_install uninstall: scripts_uninstall modules_uninstall depmod -a -lunatik_sym.h: $(LUA_API) +$(LUA_API)/lunatik_sym.h: $(LUA_API) ${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
I was actually suggesting:
-lunatik_sym.h: $(LUA_API) +lunatik_sym.h: ${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
or just running by hand
./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h
before building it.. we use this rule only to update symbols automatically anytime we update Lua version.. it won't be your case..
I would try this at least.. it looks to me that the symbols are not being exported..
can you also check your
lunatik_sym.h
? it should look like this..EXPORT_SYMBOL(lua_newstate); EXPORT_SYMBOL(lua_close); EXPORT_SYMBOL(lua_newthread); EXPORT_SYMBOL(lua_closethread); EXPORT_SYMBOL(lua_resetthread); EXPORT_SYMBOL(lua_atpanic); EXPORT_SYMBOL(lua_version); EXPORT_SYMBOL(lua_absindex); EXPORT_SYMBOL(lua_gettop); EXPORT_SYMBOL(lua_settop); EXPORT_SYMBOL(lua_pushvalue); EXPORT_SYMBOL(lua_rotate); EXPORT_SYMBOL(lua_copy); EXPORT_SYMBOL(lua_checkstack); EXPORT_SYMBOL(lua_xmove); EXPORT_SYMBOL(lua_isnumber); EXPORT_SYMBOL(lua_isstring); EXPORT_SYMBOL(lua_iscfunction); EXPORT_SYMBOL(lua_isinteger); EXPORT_SYMBOL(lua_isuserdata); EXPORT_SYMBOL(lua_type); EXPORT_SYMBOL(lua_typename); EXPORT_SYMBOL(lua_tointegerx); EXPORT_SYMBOL(lua_toboolean); EXPORT_SYMBOL(lua_tolstring); EXPORT_SYMBOL(lua_rawlen); EXPORT_SYMBOL(lua_tocfunction); EXPORT_SYMBOL(lua_touserdata); EXPORT_SYMBOL(lua_tothread); EXPORT_SYMBOL(lua_topointer); EXPORT_SYMBOL(lua_arith); EXPORT_SYMBOL(lua_rawequal); EXPORT_SYMBOL(lua_compare); EXPORT_SYMBOL(lua_pushnil); EXPORT_SYMBOL(lua_pushinteger); EXPORT_SYMBOL(lua_pushlstring); EXPORT_SYMBOL(lua_pushstring); EXPORT_SYMBOL(lua_pushvfstring); EXPORT_SYMBOL(lua_pushfstring); EXPORT_SYMBOL(lua_pushcclosure); EXPORT_SYMBOL(lua_pushboolean); EXPORT_SYMBOL(lua_pushlightuserdata); EXPORT_SYMBOL(lua_pushthread); EXPORT_SYMBOL(lua_getglobal); EXPORT_SYMBOL(lua_gettable); EXPORT_SYMBOL(lua_getfield); EXPORT_SYMBOL(lua_geti); EXPORT_SYMBOL(lua_rawget); EXPORT_SYMBOL(lua_rawgeti); EXPORT_SYMBOL(lua_rawgetp); EXPORT_SYMBOL(lua_createtable); EXPORT_SYMBOL(lua_newuserdatauv); EXPORT_SYMBOL(lua_getmetatable); EXPORT_SYMBOL(lua_getiuservalue); EXPORT_SYMBOL(lua_setglobal); EXPORT_SYMBOL(lua_settable); EXPORT_SYMBOL(lua_setfield); EXPORT_SYMBOL(lua_seti); EXPORT_SYMBOL(lua_rawset); EXPORT_SYMBOL(lua_rawseti); EXPORT_SYMBOL(lua_rawsetp); EXPORT_SYMBOL(lua_setmetatable); EXPORT_SYMBOL(lua_setiuservalue); EXPORT_SYMBOL(lua_callk); EXPORT_SYMBOL(lua_pcallk); EXPORT_SYMBOL(lua_load); EXPORT_SYMBOL(lua_dump); EXPORT_SYMBOL(lua_yieldk); EXPORT_SYMBOL(lua_resume); EXPORT_SYMBOL(lua_status); EXPORT_SYMBOL(lua_isyieldable); EXPORT_SYMBOL(lua_setwarnf); EXPORT_SYMBOL(lua_warning); EXPORT_SYMBOL(lua_gc); EXPORT_SYMBOL(lua_error); EXPORT_SYMBOL(lua_next); EXPORT_SYMBOL(lua_concat); EXPORT_SYMBOL(lua_len); EXPORT_SYMBOL(lua_stringtonumber); EXPORT_SYMBOL(lua_getallocf); EXPORT_SYMBOL(lua_setallocf); EXPORT_SYMBOL(lua_toclose); EXPORT_SYMBOL(lua_closeslot); EXPORT_SYMBOL(lua_getstack); EXPORT_SYMBOL(lua_getinfo); EXPORT_SYMBOL(lua_getlocal); EXPORT_SYMBOL(lua_setlocal); EXPORT_SYMBOL(lua_getupvalue); EXPORT_SYMBOL(lua_setupvalue); EXPORT_SYMBOL(lua_upvalueid); EXPORT_SYMBOL(lua_upvaluejoin); EXPORT_SYMBOL(lua_sethook); EXPORT_SYMBOL(lua_gethook); EXPORT_SYMBOL(lua_gethookmask); EXPORT_SYMBOL(lua_gethookcount); EXPORT_SYMBOL(lua_setcstacklimit); EXPORT_SYMBOL(luaL_checkversion_); EXPORT_SYMBOL(luaL_getmetafield); EXPORT_SYMBOL(luaL_callmeta); EXPORT_SYMBOL(luaL_tolstring); EXPORT_SYMBOL(luaL_argerror); EXPORT_SYMBOL(luaL_typeerror); EXPORT_SYMBOL(luaL_checklstring); EXPORT_SYMBOL(luaL_optlstring); EXPORT_SYMBOL(luaL_checknumber); EXPORT_SYMBOL(luaL_optnumber); EXPORT_SYMBOL(luaL_checkstack); EXPORT_SYMBOL(luaL_checktype); EXPORT_SYMBOL(luaL_checkany); EXPORT_SYMBOL(luaL_newmetatable); EXPORT_SYMBOL(luaL_setmetatable); EXPORT_SYMBOL(luaL_testudata); EXPORT_SYMBOL(luaL_checkudata); EXPORT_SYMBOL(luaL_where); EXPORT_SYMBOL(luaL_error); EXPORT_SYMBOL(luaL_checkoption); EXPORT_SYMBOL(luaL_ref); EXPORT_SYMBOL(luaL_unref); EXPORT_SYMBOL(luaL_loadbufferx); EXPORT_SYMBOL(luaL_loadstring); EXPORT_SYMBOL(luaL_newstate); EXPORT_SYMBOL(luaL_len); EXPORT_SYMBOL(luaL_addgsub); EXPORT_SYMBOL(luaL_gsub); EXPORT_SYMBOL(luaL_setfuncs); EXPORT_SYMBOL(luaL_getsubtable); EXPORT_SYMBOL(luaL_traceback); EXPORT_SYMBOL(luaL_requiref); EXPORT_SYMBOL(luaL_buffinit); EXPORT_SYMBOL(luaL_prepbuffsize); EXPORT_SYMBOL(luaL_addlstring); EXPORT_SYMBOL(luaL_addstring); EXPORT_SYMBOL(luaL_addvalue); EXPORT_SYMBOL(luaL_pushresult); EXPORT_SYMBOL(luaL_pushresultsize); EXPORT_SYMBOL(luaL_buffinitsize); EXPORT_SYMBOL(luaopen_base); EXPORT_SYMBOL(luaopen_coroutine); EXPORT_SYMBOL(luaopen_table); EXPORT_SYMBOL(luaopen_string); EXPORT_SYMBOL(luaopen_utf8); EXPORT_SYMBOL(luaopen_math); EXPORT_SYMBOL(luaopen_debug); EXPORT_SYMBOL(luaopen_package); EXPORT_SYMBOL(luaL_openlibs);
Dropping this content in lunatik_sym.h
and remove the rule from the makefile should get the work done as well
or just running by hand
./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h
before building it.. we use this rule only to update symbols automatically anytime we update Lua version.. it won't be your case..I would try this at least.. it looks to me that the symbols are not being exported..
ok, good, let me explain the build steps for lunatik in chroot, so you can point out which steps to manually run ./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h
before building lunatik
1, I have the lunatik source in BPFire source tree cache/lunatik-5.3.2
2, make Makefile
changes in cache/lunatik-5.3.2
3, create cache/lunatik-5.3.2.tar.gz
tar ball and b2sum cache/lunatik-5.3.2.tar.gz
to get checksum and update checksum in lfs/lunatik
4, start the chroot build process
./make.sh build
which would look into lfs/lunatik
, the cache/lunatik-5.3.2.tar.gz
will be extracted to build/usr/src/lunatik-5.3.2
which is the chroot build directory, and start to build lunatik under build/usr/src/lunatik-5.3.2
, after lunatik is built, build/usr/src/lunatik-5.3.2
will be removed as @rm -rf $(DIR_APP)
in lfs/lunatik
below
include Config
VER = 5.3.2
THISAPP = lunatik-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 351c7b889e27a9fe05a0f425114ff3089e6cd50a838fcf520ce19b6c4512c42902d0923089c0135ff5d60b7aa418c4bbbafd9707fc4a19a2abfe7c65cfd3d59b
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && make btf_install
cd $(DIR_APP) && make
cd $(DIR_APP) && make install
cd $(DIR_APP) && make examples_install
cd $(DIR_APP)/examples/filter && make
@rm -rf $(DIR_APP)
@$(POSTBUILD)
I think you can just add lunatik_sym.h
to the tarball..
That is, you do not need to run gensymbols.sh
inside the chroot.. you can just create lunatik_sym.h
outside it, either running the script or copying the content I pasted here...then, add it to the tarball (of course, removing the rule from the makefile as well.. otherwise, it will be overwritten)
That is, you do not need to run
gensymbols.sh
inside the chroot.. you can just createlunatik_sym.h
outside it, either running the script or copying the content I pasted here...then, add it to the tarball (of course, removing the rule from the makefile as well.. otherwise, it will be overwritten)
ok, so run ./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h > lunatik_sym.h
under cache/lunatik-5.3.2
then remove below in Makefile, and prepare the lunatik-5.3.2 tar ball
lunatik_sym.h:
${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
this is the Makefile change, does it look good, what about +all: $(LUA_API)/lunatik_sym.h
?
root@r210:/home/vincent/go/src/github.com/vincentmli/BPFire/cache/lunatik-5.3.2# git diff
diff --git a/Makefile b/Makefile
index ec172541..a8e62f82 100644
--- a/Makefile
+++ b/Makefile
@@ -3,14 +3,15 @@
MODULES_INSTALL_PATH = /lib/modules/${shell uname -r}
SCRIPTS_INSTALL_PATH = /lib/modules/lua
-LUNATIK_INSTALL_PATH = /usr/local/sbin
-LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h
+LUNATIK_INSTALL_PATH = /usr/sbin
+LUA = ${PWD}/lua
+LUA_API = ${LUA}/lua.h ${LUA}/lauxlib.h ${LUA}/lualib.h
KDIR ?= ${MODULES_INSTALL_PATH}/build
RM = rm -f
MKDIR = mkdir -p -m 0755
INSTALL = install -o root -g root
-all: lunatik_sym.h
+all: $(LUA_API)/lunatik_sym.h
${MAKE} -C ${KDIR} M=${PWD} CONFIG_LUNATIK=m \
CONFIG_LUNATIK_RUN=m CONFIG_LUNATIK_RUNTIME=y CONFIG_LUNATIK_DEVICE=m \
CONFIG_LUNATIK_LINUX=m CONFIG_LUNATIK_NOTIFIER=m CONFIG_LUNATIK_SOCKET=m \
@@ -69,7 +70,3 @@ install: scripts_install modules_install
uninstall: scripts_uninstall modules_uninstall
depmod -a
-
-lunatik_sym.h: $(LUA_API)
- ${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
If you're gonna add lunatik_sym.h
manually, I would remove all references to it and LUA_API in the makefile.. the header is already included in lunatik_core.c
, if it's present in the tarball.. it should export the symbols just fine..
That is, you do not need to run
gensymbols.sh
inside the chroot.. you can just createlunatik_sym.h
outside it, either running the script or copying the content I pasted here...then, add it to the tarball (of course, removing the rule from the makefile as well.. otherwise, it will be overwritten)ok, so run
./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h > lunatik_sym.h
undercache/lunatik-5.3.2
then remove below in Makefile, and prepare the lunatik-5.3.2 tar ball
lunatik_sym.h: ${shell ./gensymbols.sh $(LUA_API) > lunatik_sym.h}
Also, check the generated content.. make sure the EXPORT_SYMBOL(...) entries are there
@lneto great news, the BTF and symbol issues are resolved
[root@bpfire-2 lua]# lsmod | grep luna
lunatik_run 12288 0
luarcu 12288 4 luaxtable,luaxdp,lunatik_run
lunatik 376832 16 luaprobe,luaxtable,luafib,luaxdp,luasyscall,luarcu,luathread,lualinux,luasocket,lunatik_run,luadata,luacompletion,luafifo,luadevice,luanetfilter,luanotifier
just minor things like https.o
is missing in the running system, need to find out why :).
@lneto great news, the BTF and symbol issues are resolved
[root@bpfire-2 lua]# lsmod | grep luna lunatik_run 12288 0 luarcu 12288 4 luaxtable,luaxdp,lunatik_run lunatik 376832 16 luaprobe,luaxtable,luafib,luaxdp,luasyscall,luarcu,luathread,lualinux,luasocket,lunatik_run,luadata,luacompletion,luafifo,luadevice,luanetfilter,luanotifier
awesome! how did you fix BTF? with that kernel config?
just minor things like
https.o
is missing in the running system, need to find out why :).
ah.. examples are not build automatically.. you need to cd examples/filter && make && make install
Yes, I enabled BTF module mismatch in kernel, and I missed make install
for filter
it looks examples_install
is missing installing *.o
and the Makefile
in examples/filter is missing install
target.
@@ -46,6 +45,7 @@ examples_install:
${INSTALL} -m 0644 examples/echod/*.lua ${SCRIPTS_INSTALL_PATH}/examples/echod
${MKDIR} ${SCRIPTS_INSTALL_PATH}/examples/filter
${INSTALL} -m 0644 examples/filter/*.lua ${SCRIPTS_INSTALL_PATH}/examples/filter
+ ${INSTALL} -m 0644 examples/filter/*.o ${SCRIPTS_INSTALL_PATH}/examples/filter
it looks
examples_install
is missing installing*.o
and theMakefile
in examples/filter is missinginstall
target.@@ -46,6 +45,7 @@ examples_install: ${INSTALL} -m 0644 examples/echod/*.lua ${SCRIPTS_INSTALL_PATH}/examples/echod ${MKDIR} ${SCRIPTS_INSTALL_PATH}/examples/filter ${INSTALL} -m 0644 examples/filter/*.lua ${SCRIPTS_INSTALL_PATH}/examples/filter + ${INSTALL} -m 0644 examples/filter/*.o ${SCRIPTS_INSTALL_PATH}/examples/filter
actually, we don't have a default path for ebpf programs.. do you have any suggestion? I don't think it should go under /lib/modules/lua
perhaps we can do the same as bpfd.. https://bpfman.io/v0.2.1/getting-started/example-bpf-local/, that is, /run/bpfd/examples/
.. what do you think? can you create a PR with this change?
in BPFire, I use xdp-tools which install bpf program by default in /usr/local/lib/bpf
directory, I don't use bpfd, what do you think of /usr/local/lib/bpf
?
in BPFire, I use xdp-tools which install bpf program by default in
/usr/local/lib/bpf
directory, I don't use bpfd, what do you think of/usr/local/lib/bpf
?
I think we can use it, if it's used for xdp-tools..
now I need to learn Lua to use lunatik effectively :)
Hi @lneto
I am exploring XDP TLS SNI parsing solution to BPFire which enables eBPF kernel features. Parsing TLS SNI from raw packet in XDP has been pain in the neck due to eBPF verifier error :). I found lunatik LuaXDP from your article https://medium.com/@lourival.neto/is-ebpf-driving-you-crazy-let-it-run-lunatik-instead-4aca7d63e6fd, it is exactly want I want.
Now I am trying to build lunatik as addon to BPFire, here is the build instruction for lunatik addon
I got error
lunatik has Makefile as
it looks to me
LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h
is pointed tolua
directory in lunatik source. the BPFire build system uses chroot environment, the chroot hasbuild
directory as theroot
directory, in my build machine, it looks like this:for the example the kernel
/lib/modules/6.6.15-ipfire
in chroot isthe chroot build environment seems unable to locate
LUA_API = lua/lua.h lua/lauxlib.h lua/lualib.h
, I tried to change it toLUA_API = /usr/include/lua.h /usr/include/lauxlib.h /usr/include/lualib.h
where/usr/include/lua.h
is actually pointed tobuild/usr/include/lua.h
, and thelua.h
comes from upstream lua build, not from lunatik lua, and it of course failed too.I am wondering if you have an idea to workaround this build problem. I like to explore lunatik in BPFire since they seems compliment with each other :)