diff --git a/iso/builder/build-nvidia-module.sh b/iso/builder/build-nvidia-module.sh index b122dc4..df3f837 100644 --- a/iso/builder/build-nvidia-module.sh +++ b/iso/builder/build-nvidia-module.sh @@ -84,9 +84,15 @@ done echo "kernel source: $KERNEL_SRC" # Build kernel modules +# CFLAGS_MODULE: add GCC include dir so NVIDIA's nv_stdarg.h can find stdarg.h. +# Kernel build uses -nostdinc which strips GCC's own includes; we restore it here. +GCC_INCLUDES=$(gcc --print-file-name=include 2>/dev/null || echo "") echo "=== building kernel modules ($(nproc) cores) ===" cd "$KERNEL_SRC" -make -j$(nproc) KERNEL_UNAME="$KVER" SYSSRC="$KDIR" modules 2>&1 | tail -5 +make -j$(nproc) \ + KERNEL_UNAME="$KVER" SYSSRC="$KDIR" \ + ${GCC_INCLUDES:+CFLAGS_MODULE="-I${GCC_INCLUDES}"} \ + modules 2>&1 | tail -10 # Collect outputs mkdir -p "$CACHE_DIR/modules" "$CACHE_DIR/bin" "$CACHE_DIR/lib"