Update bulgarian.lang by Zahari Yurukov
[maemo-rb.git] / utils / ypr0tools / patch-firmware.sh
blob879b3f879de9436096dbc256e115175a8c46395c
1 #!/bin/sh
4 ######################################################################
5 # __________ __ ___.
6 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
7 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
8 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
9 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 # \/ \/ \/ \/ \/
12 # * Script to patch an unpacked Samsung YP-R0 firmware file */
13 # Copyright (C) 2011 Thomas Martitz
14 ######################################################################
15 # bail out early
16 set -e
18 if [ $# -lt 1 ] || [ $# -gt 2 ]; then
19 echo "Usage: $0 <files path> [path to unpacked rom]"
20 echo "\t<files path> is expected to have a rootfs layout and to contain"
21 echo "\tonly the files to overwrite (plain cp -r is used)"
22 exit 1
25 FILES=${1%/}
26 FILES=${FILES:-"/"}
27 DIR=${2:-"."}
28 DIR=${DIR%/}
29 ROOTFS=$DIR/rootfs
30 CRAMFS=$DIR/cramfs-fsl.rom
32 # sanity checks
34 # this needs to be run as root!
35 if [ $(whoami) != "root" ]
36 then
37 echo "This needs to be run as root"
38 exit 1
41 if [ ! -e $1 ] || [ ! -e $2 ]; then
42 echo "$1 or $2 does not exist"
43 exit 1
46 if [ -z $ROOTFS ] || [ -z $FILES ]; then
47 echo "Invalid input directories"
48 exit 1
51 if [ ! -e $CRAMFS ]; then
52 echo "Cramfs image not found (did you extract the firmware?)"
53 exit 1
56 echo "Extracting cramfs image"
58 [ ! -e $ROOTFS ] || rmdir -p $ROOTFS
59 cramfs-1.1/cramfsck -x $ROOTFS $CRAMFS
61 echo "Patching rootfs"
62 echo "cp -r $FILES/* $ROOTFS/"
63 cp -r $FILES/.rockbox $ROOTFS/
64 cp -r $FILES/* $ROOTFS/
66 echo "Packing new cramfs image"
67 cramfs-1.1/mkcramfs $ROOTFS $CRAMFS