forked from zhujiong/android_device_samsung_aries-common
-
Notifications
You must be signed in to change notification settings - Fork 0
/
updater_cdma.sh
executable file
·105 lines (81 loc) · 2.95 KB
/
updater_cdma.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/tmp/busybox sh
#
# Universal Updater Script for Samsung Galaxy S Phones
# (c) 2011 by Teamhacksung
# CDMA version
#
set -x
export PATH=/:/sbin:/system/xbin:/system/bin:/tmp:$PATH
# check if we're running on a bml or mtd device
if /tmp/busybox test -e /dev/block/bml7 ; then
# we're running on a bml device
# make sure sdcard is mounted
if ! /tmp/busybox grep -q /mnt/sdcard /proc/mounts ; then
/tmp/busybox mkdir -p /mnt/sdcard
/tmp/busybox umount -l /dev/block/mmcblk1p1
if ! /tmp/busybox mount -t vfat /dev/block/mmcblk1p1 /mnt/sdcard ; then
/tmp/busybox echo "Cannot mount sdcard."
exit 1
fi
fi
# remove old log
rm -rf /mnt/sdcard/cyanogenmod_bml.log
# everything is logged into /sdcard/cyanogenmod.log
exec >> /mnt/sdcard/cyanogenmod_bml.log 2>&1
# write the package path to sdcard cyanogenmod.cfg
if /tmp/busybox test -n "$UPDATE_PACKAGE" ; then
PACKAGE_LOCATION=${UPDATE_PACKAGE#/mnt}
/tmp/busybox echo "$PACKAGE_LOCATION" > /mnt/sdcard/cyanogenmod.cfg
fi
# Scorch any ROM Manager settings to require the user to reflash recovery
/tmp/busybox rm -f /mnt/sdcard/clockworkmod/.settings
# write new kernel to boot partition
/tmp/flash_image boot /tmp/boot.img
if [ "$?" != "0" ] ; then
exit 3
fi
/tmp/busybox sync
/sbin/reboot now
exit 0
elif /tmp/busybox test -e /dev/block/mtdblock0 ; then
# we're running on a mtd device
# make sure sdcard is mounted
/tmp/busybox mkdir -p /sdcard
if ! /tmp/busybox grep -q /sdcard /proc/mounts ; then
/tmp/busybox umount -l /dev/block/mmcblk1p1
if ! /tmp/busybox mount -t vfat /dev/block/mmcblk1p1 /sdcard ; then
/tmp/busybox echo "Cannot mount sdcard."
exit 4
fi
fi
# remove old log
rm -rf /sdcard/cyanogenmod_mtd.log
# everything is logged into /sdcard/cyanogenmod.log
exec >> /sdcard/cyanogenmod_mtd.log 2>&1
# if a cyanogenmod.cfg exists, then this is a first time install
# let's format the volumes and restore radio and efs
if ! /tmp/busybox test -e /sdcard/cyanogenmod.cfg ; then
exit 0
fi
# remove the cyanogenmod.cfg to prevent this from looping
/tmp/busybox rm -f /sdcard/cyanogenmod.cfg
# unmount, format and mount system
/tmp/busybox umount -l /system
/tmp/erase_image system
/tmp/busybox mount -t yaffs2 /dev/block/mtdblock2 /system
# unmount and format cache
/tmp/busybox umount -l /cache
/tmp/erase_image cache
# unmount and format data
/tmp/busybox umount /data
/tmp/make_ext4fs -b 4096 -g 32768 -i 8192 -I 256 -a /data /dev/block/mmcblk0p1
# unmount and format datadata
/tmp/busybox umount -l /datadata
/tmp/erase_image datadata
# erase partitions anyways
/tmp/erase_image radio
/tmp/erase_image efs
# flash boot image
/tmp/bml_over_mtd.sh boot 72 reservoir 2004 /tmp/boot.img
exit 0
fi