add v2 support

This commit is contained in:
Alfonso Gamboa
2022-05-23 17:56:53 -07:00
parent 54fe16fdfe
commit 80378fbd5e
12 changed files with 327 additions and 100 deletions

29
v2_install/compile_image.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
DL_URL=$(wget --user-agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" -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)
echo "create work directory"
mkdir v2_ro
echo "download latest firmware"
wget $DL_URL -P ./v2_ro/
echo "extracting firmware to workdir"
unzip v2_ro/demo_4.9.8.1002.zip -d ./v2_ro/
echo "create firmware dir"
mkdir v2_ro/tmp_dir
echo "unpack stock firmware"
./fw_tool.sh unpack v2_ro/demo_4.9.8.1002.bin v2_ro/tmp_dir
echo "replace kernel"
cp v2_kernel.bin v2_ro/tmp_dir/kernel.bin
echo "pack firmware with new kernel"
./fw_tool.sh pack v2_ro/tmp_dir/ demo.bin
echo "md5sum is: " `md5sum demo.bin`
rm -rf v2_ro
echo "demo.bin ready. Please copy demo.bin to your memory card"

38
v2_install/fw_tool.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/bin/sh
#custom for V2
ACTION=$1
KERNEL_OFFSET=$((64))
ROOTFS_OFFSET=$((2097216))
DRIVER_OFFSET=$((5570624))
APPFS_OFFSET=$((6225984))
if [ "$ACTION" = "unpack" ]; then
DEMO_IN=$2
OUT_DIR=$3
dd if=${DEMO_IN} of=$OUT_DIR/kernel.bin skip=$KERNEL_OFFSET count=$(($ROOTFS_OFFSET-$KERNEL_OFFSET)) bs=1
md5sum $OUT_DIR/kernel.bin
dd if=${DEMO_IN} of=$OUT_DIR/rootfs.bin skip=$ROOTFS_OFFSET count=$(($DRIVER_OFFSET-$ROOTFS_OFFSET)) bs=1
md5sum $OUT_DIR/rootfs.bin
dd if=${DEMO_IN} of=$OUT_DIR/driver.bin skip=$DRIVER_OFFSET count=$(($APPFS_OFFSET-$DRIVER_OFFSET)) bs=1
md5sum $OUT_DIR/driver.bin
IMAGE_END=$(($(stat -c %s ${DEMO_IN})))
dd if=${DEMO_IN} of=$OUT_DIR/appfs.bin skip=$APPFS_OFFSET count=$(($IMAGE_END-$APPFS_OFFSET)) bs=1
md5sum $OUT_DIR/appfs.bin
elif [ "$ACTION" = "pack" ]; then
TMP_DIR=$2
DEMO_OUT=$3
# need to pad kernel is its smaller than the stock kernel size, 2097152 bytes
dd if=/dev/zero of=$TMP_DIR/kernel.bin bs=1 count=1 seek=2097151
cat $TMP_DIR/kernel.bin $TMP_DIR/rootfs.bin $TMP_DIR/driver.bin $TMP_DIR/appfs.bin > $TMP_DIR/flash.bin
mkimage -A MIPS -O linux -T firmware -C none -a 0 -e 0 -n jz_fw -d $TMP_DIR/flash.bin $DEMO_OUT
else
echo "Unknown action '$ACTION'"
fi

BIN
v2_install/v2_kernel.bin Normal file

Binary file not shown.