compile_image.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. UA_STRING="Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"
  3. DL_URL=$(wget --header="Accept: text/html" --user-agent="$UA_STRING" -qO- https://support.wyze.com/hc/en-us/articles/360024852172-Release-Notes-Firmware | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | grep /v2/ | sort -t . -k2r,5 | grep demo | head -1)
  4. echo "checking for tools"
  5. command -v wget >/dev/null 2>&1 || { echo >&2 "wget is not installed. Aborting."; exit 1; }
  6. command -v mkimage >/dev/null 2>&1 || { echo >&2 "mkimage is not installed. Aborting."; exit 1; }
  7. command -v unzip >/dev/null 2>&1 || { echo >&2 "unzip is not installed. Aborting."; exit 1; }
  8. echo "create temporary work directory"
  9. mkdir v2_ro
  10. echo "check for local zip"
  11. if [ -f demo_4.9.8.1002.zip ]; then
  12. echo "local archive found"
  13. mv demo_4.9.8.1002.zip ./v2_ro/
  14. else
  15. echo "local archive not found"
  16. echo "downloading latest firmware"
  17. wget $DL_URL -P ./v2_ro/
  18. fi
  19. echo "extracting firmware to temporary work directory"
  20. unzip v2_ro/demo_4.9.8.1002.zip -d ./v2_ro/
  21. echo "create firmware directory"
  22. mkdir v2_ro/fw_dir
  23. echo "unpack stock firmware image"
  24. ./fw_tool.sh unpack v2_ro/demo_4.9.8.1002.bin v2_ro/fw_dir
  25. echo "replace factory kernel"
  26. cp v2_kernel.bin v2_ro/fw_dir/kernel.bin
  27. echo "pack firmware image with new kernel"
  28. ./fw_tool.sh pack v2_ro/fw_dir/ demo.bin
  29. echo "remove temporary work directory"
  30. rm -rf v2_ro
  31. echo "demo.bin ready. Please copy demo.bin to your memory card"