diff options
Diffstat (limited to 'utils/ypr0tools/unpack-firmware.sh')
-rwxr-xr-x | utils/ypr0tools/unpack-firmware.sh | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/utils/ypr0tools/unpack-firmware.sh b/utils/ypr0tools/unpack-firmware.sh deleted file mode 100755 index ab80670c79..0000000000 --- a/utils/ypr0tools/unpack-firmware.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash - -###################################################################### -# __________ __ ___. -# Open \______ \ ____ ____ | | _\_ |__ _______ ___ -# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / -# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < -# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ -# \/ \/ \/ \/ \/ -# -# * Script to unpack a Samsung YP-R0 firmware file (R0.ROM) */ -###################################################################### - -# The file was originally called MuonDecrypt.sh -# -# I'm not sure about the original author of this file, as it wasn't included in Samsung package. -# But I guess it was done by JeanLouis, an Italian user of the Hardware Upgrade Forum. If needed, we should search throug old posts for that... -# - - -# bail out early -set -e - -# some sanity checks -if [ $# -lt 1 ] || [ $# -gt 2 ]; then - echo "Usage $0 <rom file> [out dir]" - exit 1 -fi - - -ROM=$1 -DIR=${2:-"."} -DIR=${DIR%/} -MBOOT="$DIR/MBoot.bin" -MBOOT_TMP="${TMP_DIR:-$DIR}/MBoot.tmp" -LINUX="$DIR/zImage" -CRAMFS="$DIR/cramfs-fsl.rom" -SYSDATA="$DIR/SYSDATA.bin" -MD5SUMS="$DIR/MD5SUMS" -TMP="${TMP_DIR:-$DIR}/_$$.tmp" - - -if [ ! -f ./extract_section ]; then - echo "Couldn't find extract_section binary (try 'make')" - exit 1 -fi - -if [ ! -f ./MuonEncrypt ]; then - echo "Couldn't find MuonEncrypt binary (try 'make')" - exit 1 -fi - -mkdir -p $DIR - -if [ ! -w $DIR ]; then - echo "Target dir not writable" - exit 1 -fi - -ExtractAndDecrypt() { - START=$(expr $START - $2) - echo "Extracting $1..." - ./extract_section $ROM $TMP $START $2 - echo "Decrypt $1..." - ./MuonEncrypt $TMP > $1 -} - -size=( `head -n 9 $ROM | tail -n 4 | while read LINE; do echo $LINE | cut -d\( -f 2 | cut -d\) -f 1; done`) -checksum=( `head -n 9 $ROM | tail -n 4 | while read LINE; do echo $LINE | cut -d\( -f 3 | cut -d\) -f 1; done`) - -echo "${checksum[0]} $MBOOT" > $MD5SUMS -echo "${checksum[1]} $LINUX" >> $MD5SUMS -echo "${checksum[2]} $CRAMFS" >> $MD5SUMS -echo "${checksum[3]} $SYSDATA" >> $MD5SUMS - -START=`stat -c%s $ROM` - -ExtractAndDecrypt $SYSDATA ${size[3]} -ExtractAndDecrypt $CRAMFS ${size[2]} -ExtractAndDecrypt $LINUX ${size[1]} -ExtractAndDecrypt $MBOOT_TMP ${size[0]} - -rm $TMP -echo "Create $MBOOT..." -dd if=$MBOOT_TMP of=$MBOOT bs=96 count=1 2>/dev/null -dd if=$MBOOT_TMP of=$MBOOT bs=1088 skip=1 seek=1 2>/dev/null -rm $MBOOT_TMP - -echo "Check integrity:" -md5sum -c $MD5SUMS |