45 lines
		
	
	
		
			898 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			898 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
if [ -z "$1" ]
 | 
						|
then
 | 
						|
  echo "$0 <model> [--without-ec]" >&2
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
MODEL="$1"
 | 
						|
 | 
						|
WITH_EC=true
 | 
						|
if [ "$2" = "--without-ec" ]
 | 
						|
then
 | 
						|
    WITH_EC=false
 | 
						|
fi
 | 
						|
 | 
						|
if [ ! -d "models/${MODEL}" ]
 | 
						|
then
 | 
						|
  echo "model '${MODEL}' not found" >&2
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
MODEL_DIR="$(realpath "models/${MODEL}")"
 | 
						|
 | 
						|
DMI_MODEL="$(cat /sys/class/dmi/id/product_version)"
 | 
						|
if [ "${DMI_MODEL}" != "${MODEL}" ]
 | 
						|
then
 | 
						|
  echo "Refusing to flash model '${MODEL}' to model '${DMI_MODEL}'" >&2
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
 | 
						|
cargo build --release --manifest-path libs/intel-spi/Cargo.toml
 | 
						|
sudo libs/intel-spi/target/release/intel-spi "build/${MODEL}/firmware.rom"
 | 
						|
 | 
						|
if [ "$WITH_EC" = true ]
 | 
						|
then
 | 
						|
    if [ -e "build/${MODEL}/ec.rom" ]
 | 
						|
    then
 | 
						|
        cargo build --release --manifest-path ec/tool/Cargo.toml
 | 
						|
        sudo ec/tool/target/release/system76_ectool flash "build/${MODEL}/ec.rom"
 | 
						|
    fi
 | 
						|
else
 | 
						|
    echo "Skipping EC flash"
 | 
						|
fi
 |