Docs: Update Pi image workflow, 16GB+ requirement

- rpi/README.md: 16GB+ SD card requirement, use pull-image.sh
- rpi/BUILD_IMAGE.md: Simplified steps using pull-image.sh
- pull-image.sh: Optional .zst.zip wrapper for GitHub releases

🤖 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-07 01:01:24 -05:00
parent f79c63428b
commit 36931518ce
3 changed files with 33 additions and 31 deletions

View File

@@ -98,7 +98,7 @@ This removes:
The script validates all cleanup steps before finishing. The script validates all cleanup steps before finishing.
## Step 9: Copy the Image ## Step 9: Pull the Image
Remove SD card, insert into your Linux machine: Remove SD card, insert into your Linux machine:
@@ -106,23 +106,13 @@ Remove SD card, insert into your Linux machine:
# Find the SD card device (CAREFUL!) # Find the SD card device (CAREFUL!)
lsblk lsblk
# Copy (replace sdX with actual device, e.g., sda) # Pull image (auto-resizes to 16GB, compresses with zstd)
sudo dd if=/dev/sdX of=stegasoo-rpi-$(date +%Y%m%d).img bs=4M status=progress sudo ./rpi/pull-image.sh /dev/sdX stegasoo-rpi-4.1.5.img.zst
``` ```
## Step 10: Shrink & Compress The script automatically resizes rootfs to 16GB, disables auto-expand, and compresses.
```bash ## Step 10: Distribute
# Optional: Shrink image (saves space)
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo ./pishrink.sh stegasoo-rpi-*.img
# Compress (zstd is faster than xz with similar ratio)
zstd -19 -T0 stegasoo-rpi-*.img
```
## Step 11: Distribute
Upload `.img.zst` to GitHub Releases. Upload `.img.zst` to GitHub Releases.
@@ -191,7 +181,6 @@ sudo systemctl start stegasoo
curl -k https://localhost:5000 curl -k https://localhost:5000
sudo /opt/stegasoo/rpi/sanitize-for-image.sh sudo /opt/stegasoo/rpi/sanitize-for-image.sh
# On host (pull image): # On host (pull image - auto-resizes to 16GB):
sudo dd if=/dev/sdX of=stegasoo-rpi-$(date +%Y%m%d).img bs=4M status=progress sudo ./rpi/pull-image.sh /dev/sdX stegasoo-rpi-4.1.5.img.zst
zstd -19 -T0 stegasoo-rpi-*.img
``` ```

View File

@@ -32,7 +32,7 @@ cd stegasoo
- Raspberry Pi 4 or 5 - Raspberry Pi 4 or 5
- Raspberry Pi OS Lite (64-bit) - Bookworm or later - Raspberry Pi OS Lite (64-bit) - Bookworm or later
- 4GB+ RAM recommended (2GB minimum) - 4GB+ RAM recommended (2GB minimum)
- ~2GB free disk space - 16GB+ SD card (pre-built images are 16GB)
- Internet connection - Internet connection
### Performance ### Performance
@@ -199,18 +199,15 @@ After Pi shuts down, remove SD card and on another Linux machine:
# Find SD card device (BE CAREFUL - wrong device = data loss!) # Find SD card device (BE CAREFUL - wrong device = data loss!)
lsblk lsblk
# Copy (replace sdX with your SD card) # Pull image (auto-resizes to 16GB, compresses with zstd)
sudo dd if=/dev/sdX of=stegasoo-rpi-$(date +%Y%m%d).img bs=4M status=progress sudo ./rpi/pull-image.sh /dev/sdX stegasoo-rpi-4.1.5.img.zst
# Shrink the image (optional but recommended)
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo ./pishrink.sh stegasoo-rpi-*.img
# Compress (zstd is faster than xz with similar compression)
zstd -19 -T0 stegasoo-rpi-*.img
``` ```
The `pull-image.sh` script automatically:
- Resizes rootfs to exactly 16GB (consistent image size)
- Disables Pi OS auto-expand
- Compresses with zstd for fast decompression
### 6. Distribute ### 6. Distribute
Upload the `.img.zst` file to GitHub Releases. Upload the `.img.zst` file to GitHub Releases.

View File

@@ -191,6 +191,22 @@ echo
echo -e "${GREEN}Done!${NC} Image saved to: $OUTPUT" echo -e "${GREEN}Done!${NC} Image saved to: $OUTPUT"
ls -lh "$OUTPUT" ls -lh "$OUTPUT"
# ============================================================================
# Optional: Zip-wrap for GitHub releases
# ============================================================================
echo echo
echo "To verify:" read -p "Create .zst.zip wrapper for GitHub? [y/N] " zip_confirm
echo " zstdcat $OUTPUT | fdisk -l /dev/stdin" if [[ "$zip_confirm" =~ ^[Yy]$ ]]; then
ZIP_OUTPUT="${OUTPUT}.zip"
echo -e "${YELLOW}Creating zip wrapper (store mode, no compression)...${NC}"
zip -0 "$ZIP_OUTPUT" "$OUTPUT"
echo -e "${GREEN}Done!${NC} Upload this to GitHub Releases:"
ls -lh "$ZIP_OUTPUT"
echo
echo "Users can flash with:"
echo " sudo ./rpi/flash-image.sh $ZIP_OUTPUT"
else
echo
echo "To verify:"
echo " zstdcat $OUTPUT | fdisk -l /dev/stdin"
fi