mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 21:22:39 -05:00
rbutil: Merge rbutil with utils folder.
rbutil uses several components from the utils folder, and can be considered part of utils too. Having it in a separate folder is an arbitrary split that doesn't help anymore these days, so merge them. This also allows other utils to easily use libtools.make without the need to navigate to a different folder. Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21
This commit is contained in:
parent
6c6f0757d7
commit
c876d3bbef
494 changed files with 13 additions and 13 deletions
122
utils/mknwzboot/uninstall_script.sh
Normal file
122
utils/mknwzboot/uninstall_script.sh
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
#!/bin/sh
|
||||
|
||||
# NOTE: busybox is using ash, a very posix and very pedantic shell, make sure
|
||||
# you test your scripts with
|
||||
# busybox sh -n <script>
|
||||
# and if you really, really don't want to download busybox to try it, then go
|
||||
# ahead and brick your device
|
||||
|
||||
# The updater script on the NWZ has a major bug/feature:
|
||||
# it does NOT clear the update flag if the update scrit fails
|
||||
# thus causing a update/reboot loop and a bricked device
|
||||
# always clear to make sure we don't end up being screwed
|
||||
nvpflag fup 0xFFFFFFFF
|
||||
|
||||
# go to /tmp
|
||||
cd /tmp
|
||||
|
||||
# get content partition path
|
||||
CONTENTS="/contents"
|
||||
CONTENTS_PART=`mount | grep contents | awk '{ print $1 }'`
|
||||
|
||||
# print a message to the screen and also on the standard output
|
||||
# lcdprint x,y msg
|
||||
lcdprint ()
|
||||
{
|
||||
echo $2
|
||||
lcdmsg -f /usr/local/bin/font_08x12.bmp -l $1 "$2"
|
||||
}
|
||||
|
||||
# clear screen
|
||||
lcdmsg -c ""
|
||||
lcdprint 0,3 "Contents partition:\n$CONTENTS_PART"
|
||||
|
||||
# We need to remount the contents partition in read-write mode be able to
|
||||
# write something on it
|
||||
lcdprint 0,6 "Remount $CONTENTS rw"
|
||||
mount -o remount,rw $CONTENTS_PART $CONTENTS
|
||||
if [ "$?" != 0 ]; then
|
||||
lcdprint 0,15 "ERROR: remount failed"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# redirect all output to a log file
|
||||
exec > "$CONTENTS/uninstall_dualboot_log.txt" 2>&1
|
||||
|
||||
# import constants
|
||||
. /install_script/constant.txt
|
||||
ROOTFS_TMP_DIR=/tmp/rootfs
|
||||
SPIDERAPP_PATH=$ROOTFS_TMP_DIR/usr/local/bin/SpiderApp
|
||||
|
||||
# mount root partition
|
||||
lcdprint 0,7 "Mount root filesystem"
|
||||
mkdir $ROOTFS_TMP_DIR
|
||||
if [ "$?" != 0 ]; then
|
||||
lcdprint 0,15 "ERROR: mkdir failed"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If there is an ext4 mounter, try it. Otherwise or on failure, try ext3 and
|
||||
# then ext2.
|
||||
# NOTE some platforms probably use an mtd and this might need some fixing
|
||||
if [ -e /usr/local/bin/icx_mount.ext4 ]; then
|
||||
/usr/local/bin/icx_mount.ext4 $COMMON_ROOTFS_PARTITION $ROOTFS_TMP_DIR
|
||||
else
|
||||
false
|
||||
fi
|
||||
if [ "$?" != 0 ]; then
|
||||
mount -t ext3 $COMMON_ROOTFS_PARTITION $ROOTFS_TMP_DIR
|
||||
fi
|
||||
if [ "$?" != 0 ]; then
|
||||
mount -t ext2 $COMMON_ROOTFS_PARTITION $ROOTFS_TMP_DIR
|
||||
fi
|
||||
if [ "$?" != 0 ]; then
|
||||
lcdprint 0,15 "ERROR: mount failed"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# the installer renames the OF to $SPIDERAPP_PATH.of so if it does not exists
|
||||
# print an error
|
||||
lcdprint 0,8 "Restore OF"
|
||||
if [ ! -e $SPIDERAPP_PATH.of ]; then
|
||||
lcdprint 0,15 "ERROR: cannot find OF"
|
||||
lcdprint 0,16 "ERROR: is Rockbox installed?"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
# restore the OF
|
||||
mv $SPIDERAPP_PATH.of $SPIDERAPP_PATH
|
||||
if [ "$?" != 0 ]; then
|
||||
lcdprint 0,15 "ERROR: restore failed"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# unmount root partition
|
||||
lcdprint 0,11 "Unmount root filesystem"
|
||||
sync
|
||||
if [ "$?" != 0 ]; then
|
||||
umount "$ROOTFS_TMP_DIR"
|
||||
lcdprint 0,15 "ERROR: sync failed"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
|
||||
umount $ROOTFS_TMP_DIR
|
||||
if [ "$?" != 0 ]; then
|
||||
lcdprint 0,15 "ERROR: umount failed"
|
||||
sleep 3
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Success screen
|
||||
lcdprint 0,15 "Rebooting in 3 seconds."
|
||||
sleep 3
|
||||
sync
|
||||
|
||||
echo "Uninstallation successful"
|
||||
# finish
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue