Enhance eMMC provisioning scripts and documentation: add troubleshooting section for device connection issues, update flash script to prevent concurrent runs, and improve logging. Adjust deployment scripts to verify presence of boot files in mass-storage-gadget.
This commit is contained in:
35
chromium-setup/emmc-provisioning/scripts/populate-gadget-on-host.sh
Executable file
35
chromium-setup/emmc-provisioning/scripts/populate-gadget-on-host.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
# Populate /opt/usbboot/mass-storage-gadget64 on the Proxmox host (no rpiboot build).
|
||||
# Use when rpiboot works but you see "No 'bootcode' files found" — the gadget dir is empty.
|
||||
# Usage: ./populate-gadget-on-host.sh [proxmox_host]
|
||||
# Example: ./populate-gadget-on-host.sh root@10.130.60.224
|
||||
|
||||
set -e
|
||||
PROXMOX="${1:-root@10.130.60.224}"
|
||||
BUILD_DIR="/tmp/usbboot-gadget-$$"
|
||||
cleanup() { rm -rf "$BUILD_DIR"; }
|
||||
trap cleanup EXIT
|
||||
|
||||
echo "[$(date -Iseconds)] Cloning usbboot to fetch mass-storage-gadget64 ..."
|
||||
mkdir -p "$BUILD_DIR"
|
||||
git clone --depth=1 https://github.com/raspberrypi/usbboot "$BUILD_DIR/usbboot"
|
||||
|
||||
GADGET="$BUILD_DIR/usbboot/mass-storage-gadget64"
|
||||
if [[ ! -d "$GADGET" ]]; then
|
||||
echo "Error: mass-storage-gadget64 not found in clone."
|
||||
exit 1
|
||||
fi
|
||||
# rpiboot needs at least bootfiles.bin or bootcode*.bin
|
||||
if [[ ! -f "$GADGET/bootfiles.bin" && ! -f "$GADGET/boot.img" ]]; then
|
||||
echo "Warning: clone has no bootfiles.bin or boot.img. Trying git lfs pull..."
|
||||
(cd "$BUILD_DIR/usbboot" && git lfs pull 2>/dev/null) || true
|
||||
fi
|
||||
if [[ ! -f "$GADGET/bootfiles.bin" && ! -f "$GADGET/boot.img" ]]; then
|
||||
echo "Error: mass-storage-gadget64 still has no boot files. Install git-lfs and retry, or run build-and-deploy-usbboot-to-host.sh for a full deploy."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[$(date -Iseconds)] Syncing mass-storage-gadget64 to $PROXMOX:/opt/usbboot/ ..."
|
||||
ssh "$PROXMOX" "mkdir -p /opt/usbboot"
|
||||
rsync -a "$GADGET/" "$PROXMOX:/opt/usbboot/mass-storage-gadget64/"
|
||||
echo "Done. Verify with: ssh $PROXMOX 'ls -la /opt/usbboot/mass-storage-gadget64/'"
|
||||
Reference in New Issue
Block a user