From dc97ffb40eb16408585cb4a0a3c5a0e60bb67af6 Mon Sep 17 00:00:00 2001 From: Vincent Li Date: Sun, 15 Sep 2024 18:36:47 +0000 Subject: [PATCH] lunatik: Unknown symbol in module lunatik requires lunatik_sym.h before build generate the symbols in chroot build. remove lunatik_sym.h in origin lunatik source 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..1c72f3e1 100644 --- a/Makefile +++ b/Makefile @@ -3,14 +3,14 @@ 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 +LUNATIK_EBPF_INSTALL_PATH = /usr/lib/bpf KDIR ?= ${MODULES_INSTALL_PATH}/build RM = rm -f MKDIR = mkdir -p -m 0755 INSTALL = install -o root -g root -all: lunatik_sym.h +all: ${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 \ @@ -46,6 +46,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 ${LUNATIK_EBPF_INSTALL_PATH} ${MKDIR} ${SCRIPTS_INSTALL_PATH}/examples/dnsblock ${INSTALL} -m 0644 examples/dnsblock/*.lua ${SCRIPTS_INSTALL_PATH}/examples/dnsblock ${MKDIR} ${SCRIPTS_INSTALL_PATH}/examples/dnsdoctor @@ -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} - Signed-off-by: Vincent Li --- config/rootfiles/common/lunatik | 1 + lfs/lunatik | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config/rootfiles/common/lunatik b/config/rootfiles/common/lunatik index 47c0a264c..78ac290e1 100644 --- a/config/rootfiles/common/lunatik +++ b/config/rootfiles/common/lunatik @@ -44,3 +44,4 @@ lib/modules/lua/socket/inet.lua lib/modules/lua/syscall lib/modules/lua/syscall/table.lua usr/sbin/lunatik +usr/lib/bpf/https.o diff --git a/lfs/lunatik b/lfs/lunatik index 4969d16f9..6fed6cfab 100644 --- a/lfs/lunatik +++ b/lfs/lunatik @@ -41,7 +41,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = ea116236c073b038bedc1c1c3a61b1eff7e4dc9fed105fdf469190002ff54b45216fc84a4a7257bf12e8adb5207c7c93aab32e017d64ab522c91cca131ac86d6 +$(DL_FILE)_BLAKE2 = 96bee0f721e4098cf8523134a325290272cc4e99583bbdd775594b1ff38119e8cafa431987e570994dc69f2a45c2a78d298029eb29da457401e2c5993a0edb6f install : $(TARGET) @@ -72,11 +72,13 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + #generate lunatik symbols before build + cd $(DIR_APP) && ./gensymbols.sh lua/lua.h lua/lauxlib.h lua/lualib.h > lunatik_sym.h 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 + cd $(DIR_APP) && make examples_install @rm -rf $(DIR_APP) @$(POSTBUILD)