cleanups
This commit is contained in:
		
							
								
								
									
										41
									
								
								Software/MainBoard/bootloader/build_bootloader.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								Software/MainBoard/bootloader/build_bootloader.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
# Build script for custom ESP-IDF bootloader with rollback enabled.
 | 
			
		||||
# Requirements:
 | 
			
		||||
#   - ESP-IDF installed
 | 
			
		||||
#   - IDF_PATH exported
 | 
			
		||||
#   - Python env prepared (the usual ESP-IDF setup)
 | 
			
		||||
# Usage:
 | 
			
		||||
#   ./build_bootloader.sh [esp32|esp32s3|esp32c3|esp32s2|esp32c2|esp32c6|esp32h2]
 | 
			
		||||
#   If target is omitted, the last configured target will be used.
 | 
			
		||||
 | 
			
		||||
TARGET=${1:-}
 | 
			
		||||
 | 
			
		||||
if [[ -z "${IDF_PATH:-}" ]]; then
 | 
			
		||||
  echo "ERROR: IDF_PATH is not set. Please install ESP-IDF and export the environment (source export.sh)." >&2
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# shellcheck source=/dev/null
 | 
			
		||||
source "$IDF_PATH/export.sh"
 | 
			
		||||
 | 
			
		||||
if [[ -n "$TARGET" ]]; then
 | 
			
		||||
  idf.py set-target "$TARGET"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Ensure sdkconfig.defaults is considered (ESP-IDF does this automatically).
 | 
			
		||||
# Build only the bootloader.
 | 
			
		||||
idf.py bootloader
 | 
			
		||||
 | 
			
		||||
echo
 | 
			
		||||
BOOTLOADER_BIN="build/bootloader/bootloader.bin"
 | 
			
		||||
if [[ -f "$BOOTLOADER_BIN" ]]; then
 | 
			
		||||
  echo "Bootloader built: $BOOTLOADER_BIN"
 | 
			
		||||
  echo "You can use this with espflash via:"
 | 
			
		||||
  echo "  espflash flash --bootloader $BOOTLOADER_BIN [--partition-table partitions.csv] <your-app-binary>"
 | 
			
		||||
else
 | 
			
		||||
  echo "ERROR: Bootloader binary not found. Check build logs above." >&2
 | 
			
		||||
  exit 2
 | 
			
		||||
fi
 | 
			
		||||
cp build/bootloader/bootloader.bin ../rust/bootloader.bin
 | 
			
		||||
		Reference in New Issue
	
	Block a user