#!/bin/sh ###################################################################### # __________ __ ___. # Open \______ \ ____ ____ | | _\_ |__ _______ ___ # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ # # * Script to patch an unpacked Samsung YP-R0 firmware file */ # Copyright (C) 2011 Thomas Martitz ###################################################################### # bail out early set -e if [ $# -lt 1 ] || [ $# -gt 2 ]; then echo "Usage: $0 [path to unpacked rom]" echo "\t is expected to have a rootfs layout and to contain" echo "\tonly the files to overwrite (plain cp -r is used)" exit 1 fi FILES=${1%/} FILES=${FILES:-"/"} DIR=${2:-"."} DIR=${DIR%/} ROOTFS=$DIR/rootfs CRAMFS=$DIR/cramfs-fsl.rom # sanity checks # this needs to be run as root! if [ $(whoami) != "root" ] then echo "This needs to be run as root" exit 1 fi if [ ! -e $1 ] || [ ! -e $2 ]; then echo "$1 or $2 does not exist" exit 1 fi if [ -z $ROOTFS ] || [ -z $FILES ]; then echo "Invalid input directories" exit 1 fi if [ ! -e $CRAMFS ]; then echo "Cramfs image not found (did you extract the firmware?)" exit 1 fi echo "Extracting cramfs image" [ ! -e $ROOTFS ] || rmdir -p $ROOTFS cramfs-1.1/cramfsck -x $ROOTFS $CRAMFS echo "Patching rootfs" echo "cp -r $FILES/* $ROOTFS/" cp -r $FILES/.rockbox $ROOTFS/ cp -r $FILES/* $ROOTFS/ echo "Packing new cramfs image" cramfs-1.1/mkcramfs $ROOTFS $CRAMFS