llama.cpp b9936 binaries for x86_64 (Linux Ubuntu + Windows CPU) Dynamic model selection from models/ dir GGUF models: Gemma-4-E2B, Qwen2.5-1.5B, Qwen3.5-4B Cross-platform start.sh / start.bat scripts Deploy script for USB stick export
59 lines
1.6 KiB
Bash
Executable file
59 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# deploy.sh — MiniLlama auf einen USB-Stick deployen
|
|
# Kopiert alles inklusive Modelle (löst Symlinks auf) an ein Ziel.
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "Verwendung: $0 <ZIEL-PFAD>"
|
|
echo ""
|
|
echo "Beispiele:"
|
|
echo " $0 /media/benutzer/STICKNAME/MiniLlama"
|
|
echo " $0 /tmp/minillama-export"
|
|
exit 1
|
|
fi
|
|
|
|
TARGET="$1"
|
|
|
|
echo "📦 MiniLlama deployen nach: $TARGET"
|
|
echo ""
|
|
|
|
# Zielverzeichnis vorbereiten
|
|
if [ -d "$TARGET" ]; then
|
|
echo "⚠️ Ziel existiert bereits: $TARGET"
|
|
read -rp "Überschreiben? (y/N): " CONFIRM
|
|
if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then
|
|
echo "Abgebrochen."
|
|
exit 1
|
|
fi
|
|
rm -rf "$TARGET"
|
|
fi
|
|
|
|
mkdir -p "$TARGET"
|
|
|
|
echo "📁 Kopiere Struktur (ohne models)..."
|
|
# Nur Struktur + Dateien ohne models kopieren (Modelle kommen separat mit Auflösung)
|
|
rsync -a --exclude='/models/' "$SCRIPT_DIR/" "$TARGET/" 2>/dev/null || \
|
|
cp -r "$SCRIPT_DIR/bin" "$SCRIPT_DIR/start.sh" "$SCRIPT_DIR/start.bat" "$SCRIPT_DIR/README.md" "$TARGET/"
|
|
|
|
mkdir -p "$TARGET/models"
|
|
|
|
echo "📦 Kopiere Modelle (löst Symlinks auf)..."
|
|
MODEL_COUNT=0
|
|
for f in "$SCRIPT_DIR"/models/*.gguf; do
|
|
if [ -f "$f" ] || [ -L "$f" ]; then
|
|
NAME=$(basename "$f")
|
|
echo " → $NAME"
|
|
cp -L "$f" "$TARGET/models/$NAME"
|
|
MODEL_COUNT=$((MODEL_COUNT + 1))
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "✅ Fertig! $MODEL_COUNT Modelle kopiert nach:"
|
|
echo " $TARGET"
|
|
echo ""
|
|
echo "Jetzt vom Stick starten:"
|
|
echo " Linux: $TARGET/start.sh"
|
|
echo " Windows: $TARGET\\start.bat"
|