You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB

#!/usr/bin/env bash
if [ -z "$ANDROID_BUILD_TOP" ]
then
echo "You must run lunch to setup the environment"
exit 1
fi
set -e
BOOTLOADER_IMG="bootloader.img"
RADIO_IMG="radio.img"
BOOTLOADER_UNPACKED="bootloader_unpacked"
RADIO_UNPACKED="radio_unpacked"
BUILD_IMG_PATH="$ANDROID_BUILD_TOP/vendor/google_devices/crosshatch/prebuilts"
BOOTLOADER_PATH="$BUILD_IMG_PATH/$BOOTLOADER_IMG"
RADIO_PATH="$BUILD_IMG_PATH/$RADIO_IMG"
TOOL="$ANDROID_HOST_OUT/testcases/fuzzy_fastboot/x86_64/fuzzy_fastboot"
CONFIG_PATH=$(dirname $0)
UNPACK_TOOL="python2 $ANDROID_BUILD_TOP/vendor/google_devices/crosshatch/prebuilts/unpack.py"
# Generate the garbage images
RADIO_SIZE=$(wc -c <"$RADIO_PATH")
BOOTLOADER_SIZE=$(wc -c <"$BOOTLOADER_PATH")
head -c $RADIO_SIZE </dev/urandom>radio_garbage.img
head -c $BOOTLOADER_SIZE </dev/urandom>bootloader_garbage.img
# Symlink the good images
ln -s "$BOOTLOADER_PATH" "$BOOTLOADER_IMG"
ln -s "$RADIO_PATH" "$RADIO_IMG"
# Unpack them
$UNPACK_TOOL $BOOTLOADER_IMG -o $BOOTLOADER_UNPACKED
$UNPACK_TOOL $RADIO_IMG -o $RADIO_UNPACKED
# Make the output image directory
mkdir -p "$CONFIG_PATH/output"
# Run fuzzy_fastboot
$TOOL "--search_path=$CONFIG_PATH" "--config=config.xml" "--output_path=output" "--serial_port=/dev/ttyUSB0" "$@"
# Clean up
rm radio_garbage.img
rm bootloader_garbage.img
rm "$BOOTLOADER_IMG"
rm "$RADIO_IMG"
rm -rf "$RADIO_UNPACKED"
rm -rf "$BOOTLOADER_UNPACKED"