Remove gpu_burn from ISO build — binary too large
gpu_burn requires CUDA toolkit (~4GB) to build and the resulting binary would significantly inflate the ISO. Removed from vendor tool list and smoketest. build-gpu-burn.sh dropped as well. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,82 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# build-gpu-burn.sh — build gpu_burn stress tool and output static-ish binary to DIST_DIR
|
|
||||||
#
|
|
||||||
# gpu_burn requires nvcc (CUDA toolkit). This script downloads a minimal CUDA toolkit
|
|
||||||
# runfile, extracts only nvcc + headers, builds gpu_burn, then cleans up the toolkit.
|
|
||||||
#
|
|
||||||
# Output: $DIST_DIR/gpu_burn (ready to copy into ISO vendor/)
|
|
||||||
#
|
|
||||||
# Usage: sh build-gpu-burn.sh <dist-dir>
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
DIST_DIR="$1"
|
|
||||||
[ -n "$DIST_DIR" ] || { echo "usage: $0 <dist-dir>"; exit 1; }
|
|
||||||
mkdir -p "$DIST_DIR"
|
|
||||||
|
|
||||||
OUTPUT="$DIST_DIR/gpu_burn"
|
|
||||||
if [ -f "$OUTPUT" ] && [ -s "$OUTPUT" ]; then
|
|
||||||
echo "=== gpu_burn cached: $OUTPUT ==="
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# CUDA toolkit version for building — only nvcc + headers needed, not the full runtime.
|
|
||||||
# Must be <= max CUDA version supported by the NVIDIA driver in VERSIONS.
|
|
||||||
# Driver 590.48.01 supports up to CUDA 13.1; use 12.6 (stable, widely tested).
|
|
||||||
CUDA_VERSION="12.8.1"
|
|
||||||
CUDA_BUILD="570.124.06"
|
|
||||||
CUDA_RUN="/var/tmp/cuda-${CUDA_VERSION}.run"
|
|
||||||
CUDA_DIR="/var/tmp/cuda-toolkit-${CUDA_VERSION}"
|
|
||||||
|
|
||||||
echo "=== building gpu_burn (CUDA ${CUDA_VERSION}) ==="
|
|
||||||
|
|
||||||
# Install build dependencies
|
|
||||||
apk add --quiet gcc g++ make git wget libxml2
|
|
||||||
|
|
||||||
# Download CUDA toolkit runfile if not cached
|
|
||||||
if [ ! -s "$CUDA_RUN" ]; then
|
|
||||||
echo "=== downloading CUDA ${CUDA_VERSION} toolkit ==="
|
|
||||||
wget -q --show-progress -O "$CUDA_RUN" \
|
|
||||||
"https://developer.download.nvidia.com/compute/cuda/${CUDA_VERSION}/local_installers/cuda_${CUDA_VERSION}_${CUDA_BUILD}_linux.run"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Extract toolkit (nvcc + headers only — skip driver, samples, docs to save time/space)
|
|
||||||
if [ ! -d "$CUDA_DIR/bin/nvcc" ] && [ ! -f "$CUDA_DIR/bin/nvcc" ]; then
|
|
||||||
echo "=== extracting CUDA toolkit ==="
|
|
||||||
rm -rf "$CUDA_DIR"
|
|
||||||
sh "$CUDA_RUN" \
|
|
||||||
--silent \
|
|
||||||
--toolkit \
|
|
||||||
--toolkitpath="$CUDA_DIR" \
|
|
||||||
--no-opengl-libs \
|
|
||||||
--no-drm \
|
|
||||||
--override 2>&1 | tail -5
|
|
||||||
fi
|
|
||||||
|
|
||||||
NVCC="$CUDA_DIR/bin/nvcc"
|
|
||||||
[ -f "$NVCC" ] || { echo "ERROR: nvcc not found after extraction: $NVCC"; exit 1; }
|
|
||||||
echo "nvcc: $("$NVCC" --version | head -1)"
|
|
||||||
|
|
||||||
# Clone gpu_burn source
|
|
||||||
GPU_BURN_DIR="/var/tmp/gpu-burn-src"
|
|
||||||
if [ ! -d "$GPU_BURN_DIR/.git" ]; then
|
|
||||||
echo "=== cloning gpu-burn ==="
|
|
||||||
git clone --depth=1 https://github.com/wilicc/gpu-burn.git "$GPU_BURN_DIR"
|
|
||||||
else
|
|
||||||
echo "=== gpu-burn source already cloned ==="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build
|
|
||||||
echo "=== building gpu_burn ==="
|
|
||||||
cd "$GPU_BURN_DIR"
|
|
||||||
make clean 2>/dev/null || true
|
|
||||||
CUDA_PATH="$CUDA_DIR" make 2>&1
|
|
||||||
|
|
||||||
[ -f "$GPU_BURN_DIR/gpu_burn" ] || { echo "ERROR: gpu_burn binary not produced"; exit 1; }
|
|
||||||
|
|
||||||
cp "$GPU_BURN_DIR/gpu_burn" "$OUTPUT"
|
|
||||||
cp "$GPU_BURN_DIR/compare.ptx" "$(dirname "$OUTPUT")/compare.ptx" 2>/dev/null || true
|
|
||||||
|
|
||||||
echo "=== gpu_burn build complete ==="
|
|
||||||
ls -lh "$OUTPUT"
|
|
||||||
echo "NOTE: compare.ptx must be present in same dir as gpu_burn at runtime"
|
|
||||||
@@ -99,7 +99,7 @@ cp "${DIST_DIR}/bee-audit-linux-amd64" "${OVERLAY_DIR}/usr/local/bin/audit"
|
|||||||
chmod +x "${OVERLAY_DIR}/usr/local/bin/audit"
|
chmod +x "${OVERLAY_DIR}/usr/local/bin/audit"
|
||||||
|
|
||||||
# --- vendor utilities (optional pre-fetched binaries) ---
|
# --- vendor utilities (optional pre-fetched binaries) ---
|
||||||
for tool in storcli64 sas2ircu sas3ircu mstflint gpu_burn; do
|
for tool in storcli64 sas2ircu sas3ircu mstflint; do
|
||||||
if [ -f "${VENDOR_DIR}/${tool}" ]; then
|
if [ -f "${VENDOR_DIR}/${tool}" ]; then
|
||||||
cp "${VENDOR_DIR}/${tool}" "${OVERLAY_DIR}/usr/local/bin/${tool}"
|
cp "${VENDOR_DIR}/${tool}" "${OVERLAY_DIR}/usr/local/bin/${tool}"
|
||||||
chmod +x "${OVERLAY_DIR}/usr/local/bin/${tool}" || true
|
chmod +x "${OVERLAY_DIR}/usr/local/bin/${tool}" || true
|
||||||
|
|||||||
@@ -38,13 +38,11 @@ for tool in dmidecode smartctl nvme ipmitool lspci audit; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
for tool in nvidia-smi gpu_burn; do
|
if p=$(PATH="/usr/local/bin:$PATH" command -v nvidia-smi 2>/dev/null); then
|
||||||
if p=$(PATH="/usr/local/bin:$PATH" command -v "$tool" 2>/dev/null); then
|
ok "nvidia-smi found: $p"
|
||||||
ok "$tool found: $p"
|
else
|
||||||
else
|
fail "nvidia-smi: NOT FOUND"
|
||||||
warn "$tool: NOT FOUND (optional but expected)"
|
fi
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "-- NVIDIA modules --"
|
echo "-- NVIDIA modules --"
|
||||||
|
|||||||
Reference in New Issue
Block a user