3 ######################################################################
5 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
6 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
7 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
8 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
11 # * Script to generate a Samsung YP-R0 firmware file (R0.ROM) */
12 ######################################################################
14 # This file was oringally called NewPack.sh, its origin is the R0 open source
15 # package from Samsung.
18 # Copyright (c) 2004-2009 Samsung Electronics, Inc.
19 # All rights reserved.
21 # Rom Packaging Script
22 # It needs sudoer privilege of rm, mkdir, cp, mkcramfs.
23 # You can configure it in the /etc/sudoer file.
24 # This script is very dangerous. Be careful to use.
26 # SangMan Sim<sangman.sim@samsung.com>
33 REVISION
="$DIR/RevisionInfo.txt"
34 CRAMFS
="$DIR/cramfs-fsl.rom"
35 SYSDATA
="$DIR/SYSDATA.bin"
36 MBOOT
="$DIR/MBoot.bin"
37 MBOOT_TMP
="${TMP_DIR:-$DIR}/MBoot.tmp"
42 if [ $# -lt 1 ] ||
[ $# -gt 2 ]; then
43 echo "Usage $0 <rom file> [path to image files]"
47 if [ ! -f .
/MuonEncrypt
]; then
48 echo "Couldn't find MuonEncrypt binary (try 'make')"
52 if [ ! -e $REVISION ]; then
61 echo "Adding $1 to $R0ROM"
62 #HEAD_STR=[`stat -c%s $1`/`md5sum $1 | cut -d " " -f 1`]
63 #HEAD_SIZE=`echo $HEAD_STR | wc -c`
64 #PACK_SIZE=`expr 44 - $HEAD_SIZE`
66 #while [ $PACK_SIZE -gt 0 ]
68 #PACK_SIZE=`expr $PACK_SIZE - 1`
72 .
/MuonEncrypt
$1 >> $R0ROM
77 FILE_SIZE
=`stat -c%s $R0ROM`
78 PACK_SIZE
=`expr 4 - $FILE_SIZE % 4`
80 if [ $PACK_SIZE != 4 ]
82 while [ $PACK_SIZE -gt 0 ]
84 PACK_SIZE
=`expr $PACK_SIZE - 1` || true
93 cat $REVISION > $R0ROM
94 echo User
: $USER >> $R0ROM
95 echo Dir
: $PWD >> $R0ROM
96 echo BuildTime
: `date "+%y/%m/%d %H:%M:%S"` >> $R0ROM
97 echo MBoot
: size\
(`stat -c%s $MBOOT`\
),checksum\
(`md5sum $MBOOT | cut -d " " -f 1`\
) >> $R0ROM
98 echo Linux
: size\
(`stat -c%s $LINUX`\
),checksum\
(`md5sum $LINUX | cut -d " " -f 1`\
) >> $R0ROM
99 echo RootFS
: size\
(`stat -c%s $CRAMFS`\
),checksum\
(`md5sum $CRAMFS | cut -d " " -f 1`\
) >> $R0ROM
100 echo Sysdata
: size\
(`stat -c%s $SYSDATA`\
),checksum\
(`md5sum $SYSDATA | cut -d " " -f 1`\
) >> $R0ROM
105 dd if=$MBOOT of
=$MBOOT_TMP bs
=96 count
=1 2> /dev
/null
107 echo `stat -c%s $MBOOT`:`md5sum $MBOOT | cut -d " " -f 1` >> $MBOOT_TMP
108 echo `stat -c%s $LINUX`:`md5sum $LINUX | cut -d " " -f 1` >> $MBOOT_TMP
109 echo `stat -c%s $CRAMFS`:`md5sum $CRAMFS | cut -d " " -f 1` >> $MBOOT_TMP
110 echo `stat -c%s $SYSDATA`:`md5sum $SYSDATA | cut -d " " -f 1` >> $MBOOT_TMP
112 dd if=$MBOOT of
=$MBOOT_TMP bs
=1088 skip
=1 seek
=1 2> /dev
/null
113 WriteImage
$MBOOT_TMP
129 echo $R0ROM : `stat -c%s $R0ROM`, `md5sum $R0ROM | cut -d " " -f 1`