Add option to skip compression in pull-image.sh

Use .img extension to skip zstd compression:
  ./pull-image.sh stegasoo.img

Use .img.zst to compress (default behavior):
  ./pull-image.sh stegasoo.img.zst

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Aaron D. Lee
2026-01-04 17:27:26 -05:00
parent dc09bac489
commit 1f40eeff9e

View File

@@ -5,6 +5,7 @@
# #
# Usage: ./pull-image.sh [output-name] [device] # Usage: ./pull-image.sh [output-name] [device]
# Output will be: stegasoo-rpi-YYYYMMDD.img.zst (or custom name) # Output will be: stegasoo-rpi-YYYYMMDD.img.zst (or custom name)
# Use .img extension to skip compression: ./pull-image.sh foo.img
# #
# If device is specified, skips auto-detection (useful for large drives) # If device is specified, skips auto-detection (useful for large drives)
# #
@@ -40,9 +41,15 @@ else
fi fi
MANUAL_DEVICE="$2" MANUAL_DEVICE="$2"
# Remove .zst extension for intermediate file # Check if output ends in .img (skip compression) or .zst (compress)
IMG_FILE="${OUTPUT%.zst}" SKIP_COMPRESS=false
if [[ "$IMG_FILE" == "$OUTPUT" ]]; then if [[ "$OUTPUT" == *.img ]]; then
IMG_FILE="$OUTPUT"
SKIP_COMPRESS=true
elif [[ "$OUTPUT" == *.zst ]]; then
IMG_FILE="${OUTPUT%.zst}"
else
# No recognized extension, add .img.zst
IMG_FILE="${OUTPUT}.img" IMG_FILE="${OUTPUT}.img"
OUTPUT="${OUTPUT}.img.zst" OUTPUT="${OUTPUT}.img.zst"
fi fi
@@ -179,12 +186,18 @@ else
fi fi
echo "" echo ""
echo -e "${GREEN}[3/3]${NC} Compressing with zstd..." if [ "$SKIP_COMPRESS" = true ]; then
pv "$IMG_FILE" | zstd -19 -T0 -q > "$OUTPUT" echo -e "${GREEN}[3/3]${NC} Skipping compression (.img output)"
rm -f "$IMG_FILE" FINAL_SIZE=$(du -h "$IMG_FILE" | awk '{print $1}')
OUTPUT="$IMG_FILE"
else
echo -e "${GREEN}[3/3]${NC} Compressing with zstd..."
pv "$IMG_FILE" | zstd -19 -T0 -q > "$OUTPUT"
rm -f "$IMG_FILE"
FINAL_SIZE=$(du -h "$OUTPUT" | awk '{print $1}')
fi
echo "" echo ""
FINAL_SIZE=$(du -h "$OUTPUT" | awk '{print $1}')
echo -e "${GREEN}╔═══════════════════════════════════════════════════════════════╗${NC}" echo -e "${GREEN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║ Image Complete! ║${NC}" echo -e "${GREEN}║ Image Complete! ║${NC}"
echo -e "${GREEN}╚═══════════════════════════════════════════════════════════════╝${NC}" echo -e "${GREEN}╚═══════════════════════════════════════════════════════════════╝${NC}"