summaryrefslogtreecommitdiff
path: root/na/scripts/Kconfig.mk
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-05-13 15:54:04 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-05-13 15:54:04 +0800
commitc9f158361cba8218a45fdc0ccb9a14ba05ddac3a (patch)
tree1266015cafa092543da3db44d9a7648b82fb8978 /na/scripts/Kconfig.mk
parent68fdbf4667b6c9f6d6e6d8adb288bc71ddc7ac02 (diff)
downloadlume-c9f158361cba8218a45fdc0ccb9a14ba05ddac3a.tar.gz
lume-c9f158361cba8218a45fdc0ccb9a14ba05ddac3a.tar.xz
feat: add KASLR configuration options and implement LZ4 compression in pack_image script
Diffstat (limited to 'na/scripts/Kconfig.mk')
-rw-r--r--na/scripts/Kconfig.mk17
1 files changed, 17 insertions, 0 deletions
diff --git a/na/scripts/Kconfig.mk b/na/scripts/Kconfig.mk
index ee2d9de..c979e76 100644
--- a/na/scripts/Kconfig.mk
+++ b/na/scripts/Kconfig.mk
@@ -49,7 +49,10 @@ CONFIG_KERNEL_STACK_SIZE ?= 8192
# --- Security / Hardening -------------------------------------------
CONFIG_KASLR ?= y
+CONFIG_KASLR_POLICY_ID ?= 0
+CONFIG_KASLR_LOG_LEVEL ?= 1
CONFIG_STACK_CANARY ?= y
+CONFIG_KERNEL_COMPRESSED ?= y
# --- Debug -----------------------------------------------------------
CONFIG_DEBUG ?= y
@@ -98,6 +101,8 @@ KCPPFLAGS += -DCONFIG_KERNEL_STACK_SIZE=$(CONFIG_KERNEL_STACK_SIZE)
ifeq ($(CONFIG_KASLR),y)
KCPPFLAGS += -DCONFIG_KASLR=1
endif
+KCPPFLAGS += -DCONFIG_KASLR_POLICY_ID=$(CONFIG_KASLR_POLICY_ID)
+KCPPFLAGS += -DCONFIG_KASLR_LOG_LEVEL=$(CONFIG_KASLR_LOG_LEVEL)
ifeq ($(CONFIG_STACK_CANARY),y)
KCPPFLAGS += -DCONFIG_STACK_CANARY=1
endif
@@ -113,6 +118,9 @@ endif
ifeq ($(CONFIG_KLOG),y)
KCPPFLAGS += -DCONFIG_KLOG=1
endif
+ifeq ($(CONFIG_KERNEL_COMPRESSED),y)
+KCPPFLAGS += -DCONFIG_KERNEL_COMPRESSED=1
+endif
# ------------------------------------------------------------------
# §5 Generate autoconf.h (analogous to Linux's include/generated/autoconf.h)
@@ -147,6 +155,8 @@ define generate-autoconf
@echo "" >> $(AUTOCONF_H)
@echo "/* Security */" >> $(AUTOCONF_H)
$(if $(filter y,$(CONFIG_KASLR)), @echo "#define CONFIG_KASLR 1" >> $(AUTOCONF_H))
+ @echo "#define CONFIG_KASLR_POLICY_ID $(CONFIG_KASLR_POLICY_ID)" >> $(AUTOCONF_H)
+ @echo "#define CONFIG_KASLR_LOG_LEVEL $(CONFIG_KASLR_LOG_LEVEL)" >> $(AUTOCONF_H)
$(if $(filter y,$(CONFIG_STACK_CANARY)), @echo "#define CONFIG_STACK_CANARY 1" >> $(AUTOCONF_H))
@echo "" >> $(AUTOCONF_H)
@echo "/* Debug */" >> $(AUTOCONF_H)
@@ -154,6 +164,7 @@ define generate-autoconf
$(if $(filter y,$(CONFIG_DEBUG_LOCKS)), @echo "#define CONFIG_DEBUG_LOCKS 1" >> $(AUTOCONF_H))
$(if $(filter y,$(CONFIG_SELFTEST)), @echo "#define CONFIG_SELFTEST 1" >> $(AUTOCONF_H))
$(if $(filter y,$(CONFIG_KLOG)), @echo "#define CONFIG_KLOG 1" >> $(AUTOCONF_H))
+ $(if $(filter y,$(CONFIG_KERNEL_COMPRESSED)), @echo "#define CONFIG_KERNEL_COMPRESSED 1" >> $(AUTOCONF_H))
endef
# ------------------------------------------------------------------
@@ -179,11 +190,14 @@ savedefconfig:
@echo "CONFIG_MAX_ORDER = $(CONFIG_MAX_ORDER)" >> .config
@echo "CONFIG_KERNEL_STACK_SIZE = $(CONFIG_KERNEL_STACK_SIZE)" >> .config
@echo "CONFIG_KASLR = $(CONFIG_KASLR)" >> .config
+ @echo "CONFIG_KASLR_POLICY_ID = $(CONFIG_KASLR_POLICY_ID)" >> .config
+ @echo "CONFIG_KASLR_LOG_LEVEL = $(CONFIG_KASLR_LOG_LEVEL)" >> .config
@echo "CONFIG_STACK_CANARY = $(CONFIG_STACK_CANARY)" >> .config
@echo "CONFIG_DEBUG = $(CONFIG_DEBUG)" >> .config
@echo "CONFIG_DEBUG_LOCKS = $(CONFIG_DEBUG_LOCKS)" >> .config
@echo "CONFIG_SELFTEST = $(CONFIG_SELFTEST)" >> .config
@echo "CONFIG_KLOG = $(CONFIG_KLOG)" >> .config
+ @echo "CONFIG_KERNEL_COMPRESSED = $(CONFIG_KERNEL_COMPRESSED)" >> .config
# 'make showconfig' — print effective configuration
showconfig:
@@ -201,9 +215,12 @@ showconfig:
@echo " MAX_ORDER = $(CONFIG_MAX_ORDER)"
@echo " KERNEL_STACK_SIZE = $(CONFIG_KERNEL_STACK_SIZE)"
@echo " KASLR = $(CONFIG_KASLR)"
+ @echo " KASLR_POLICY_ID = $(CONFIG_KASLR_POLICY_ID)"
+ @echo " KASLR_LOG_LEVEL = $(CONFIG_KASLR_LOG_LEVEL)"
@echo " STACK_CANARY = $(CONFIG_STACK_CANARY)"
@echo " DEBUG = $(CONFIG_DEBUG)"
@echo " DEBUG_LOCKS = $(CONFIG_DEBUG_LOCKS)"
@echo " SELFTEST = $(CONFIG_SELFTEST)"
@echo " KLOG = $(CONFIG_KLOG)"
+ @echo " KERNEL_COMPRESSED = $(CONFIG_KERNEL_COMPRESSED)"
@echo "========================================"