65 lines
1.4 KiB
Bash
Executable File
65 lines
1.4 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
# Hooks
|
|
|
|
usage_hook()
|
|
{
|
|
usage_oneline "misc" "pack misc image"
|
|
}
|
|
|
|
clean_hook()
|
|
{
|
|
rm -rf "$RK_FIRMWARE_DIR/misc.img" "$RK_OUTDIR/misc.img"
|
|
}
|
|
|
|
BUILD_CMDS="misc"
|
|
build_hook()
|
|
{
|
|
DST="$RK_FIRMWARE_DIR/misc.img"
|
|
MISC_IMG="$RK_OUTDIR/misc.img"
|
|
rm -f "$DST" "$MISC_IMG"
|
|
|
|
check_config RK_MISC || false
|
|
|
|
if [ -z "$(rk_partition_size misc)" ]; then
|
|
notice "Misc ignored"
|
|
return 0
|
|
fi
|
|
|
|
# The old windows tools don't accept misc > 64K
|
|
truncate -s 48k "$MISC_IMG"
|
|
|
|
if [ "$RK_MISC_BLANK" ]; then
|
|
notice "Generated blank misc image"
|
|
elif [ "$RK_MISC_RECOVERY" ]; then
|
|
echo -n "boot-recovery" | \
|
|
dd of="$MISC_IMG" bs=1 seek=$((16*1024)) conv=notrunc
|
|
echo -e -n "recovery\n$RK_MISC_RECOVERY_ARG" | \
|
|
dd of="$MISC_IMG" bs=1 seek=$((16*1024+64)) conv=notrunc
|
|
notice "Generated recovery misc with: $RK_MISC_RECOVERY_ARG"
|
|
else
|
|
ln -rvsf "$RK_CHIP_DIR/$RK_MISC_IMG" "$MISC_IMG"
|
|
fi
|
|
|
|
if [ "$RK_SECURITY_CHECK_SYSTEM_ENCRYPTION" ]; then
|
|
"$RK_SCRIPTS_DIR/mk-security.sh" misc "$MISC_IMG" "$DST" 64 \
|
|
"$(cat "$RK_SDK_DIR/u-boot/keys/system_enc_key")"
|
|
notice "Done packing $DST with encryption keys"
|
|
else
|
|
ln -rsf "$MISC_IMG" "$DST"
|
|
notice "Done packing $DST"
|
|
fi
|
|
|
|
if grep -wq boot-recovery "$DST" && \
|
|
[ -z "$(rk_partition_size recovery)" ]; then
|
|
error "Recovery misc requires recovery partition!"
|
|
return 1
|
|
fi
|
|
|
|
finish_build build_misc
|
|
}
|
|
|
|
source "${RK_BUILD_HELPER:-$(dirname "$(realpath "$0")")/build-helper}"
|
|
|
|
build_hook
|