[oe-commits] org.oe.dev zaurus-updater: Add support for installing and updating u-boot, disabled by default.

coredump2 commit openembedded-commits at lists.openembedded.org
Tue Dec 25 15:27:12 UTC 2007


zaurus-updater: Add support for installing and updating u-boot, disabled by default.

Author: coredump2 at openembedded.org
Branch: org.openembedded.dev
Revision: d3800eb0135c2b3378ebf617d55e64332c052cd7
ViewMTN: http://monotone.openembedded.org/revision/info/d3800eb0135c2b3378ebf617d55e64332c052cd7
Files:
1
packages/zaurus-updater/zaurus-updater/updater.sh
packages/zaurus-updater/zaurus-updater.bb
Diffs:

#
# mt diff -rc044ddbd0ff1fd2d31603f733f866c4e27ac0681 -rd3800eb0135c2b3378ebf617d55e64332c052cd7
#
# 
# 
# patch "packages/zaurus-updater/zaurus-updater/updater.sh"
#  from [3414afa63a3d12e6a4cd900e882c8a621de05e1a]
#    to [1bed21da6a3b2f4de965a06c2b32af9c3829ea42]
# 
# patch "packages/zaurus-updater/zaurus-updater.bb"
#  from [f8f7bbf562514bec8076212836576397889ee6ed]
#    to [6e0132a319145e0bee0939723f38518cc48760b8]
# 
============================================================
--- packages/zaurus-updater/zaurus-updater/updater.sh	3414afa63a3d12e6a4cd900e882c8a621de05e1a
+++ packages/zaurus-updater/zaurus-updater/updater.sh	1bed21da6a3b2f4de965a06c2b32af9c3829ea42
@@ -39,7 +39,13 @@
 # - Unify format of do_flashing()...
 # - Display ${PR} of zaurus-updater.bb to the user
 # - Polish HDD installer messages
+#
+# 2007.12.25 Matthias 'CoreDump' Hentges
+# -Add support for installing / updating u-boot
 
+# Set to "yes" to enable
+ENABLE_UBOOT_UPDATER="no"
+
 DATAPATH=$1
 TMPPATH=/tmp/update
 TMPDATA=$TMPPATH/tmpdata.bin
@@ -289,6 +295,53 @@ do_flashing()
 	fi
 }
 
+update_uboot() {
+	# The flashing part of this function is based on pdaXrom's
+	# updater.sh
+	
+	if test "$ENABLE_UBOOT_UPDATER" != "yes" -o -z "$1"
+	then
+		echo "u-boot updates not allowed."
+		return
+	fi
+
+	echo ""
+	echo "Installing u-boot bootloader:"
+
+	DATASIZE=`wc -c $TARGETFILE`
+	FSIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+	echo -n "* Creating backup ($FSIZE Bytes)..."
+	if ( nandlogical /dev/mtd1 READ 0 $FSIZE /tmp/sharploader.bin ) > /dev/null 2>&1
+	then
+		echo "Ok"
+
+		echo -n "* Flashing u-boot..."
+		if ( nandlogical /dev/mtd1 WRITE 0 $FSIZE $1 ) > /dev/null 2>&1
+		then
+			echo "Success"
+		else
+			echo "FAILED"
+			echo "ERROR: Installation of u-boot failed!"
+
+			echo -n "* Trying to restore backup..."			
+			if ( nandlogical /dev/mtd1 WRITE 0 $FSIZE /tmp/sharploader.bin ) > /dev/null 2>&1
+			then
+				echo "Success"
+				echo "Your old bootloader has been restored"
+			else
+				echo "FAILED"
+				echo "Sorry, it's NAND-Restore time for you =("
+			fi
+		fi
+	else
+		echo "FAILED"
+		echo "Could not create backup, aborting!"
+		echo "Your bootloader has not been altered in any way."
+		exit 1
+	fi		
+}
+
 ### Check model ###
 /sbin/writerominfo
 MODEL=`cat /proc/deviceinfo/product`
@@ -328,7 +381,7 @@ cd $DATAPATH/
 
 cd $DATAPATH/
 
-for TARGETFILE in zimage zImage zImage.bin zimage.bin ZIMAGE ZIMAGE.BIN initrd.bin INITRD.BIN hdimage1.tgz HDIMAGE1.TGZ
+for TARGETFILE in u-boot.bin U-BOOT.BIN zimage zImage zImage.bin zimage.bin ZIMAGE ZIMAGE.BIN initrd.bin INITRD.BIN hdimage1.tgz HDIMAGE1.TGZ
 do
     if [ ! -e $TARGETFILE ]
     then
@@ -388,10 +441,18 @@ do
     hdimage1.tgz)
         if [ $UNPACKED_ROOTFS = 0 ]
         then
-        do_rootfs_extraction
+        	do_rootfs_extraction
         fi
         ;;
-
+    
+    u-boot.bin)
+    	if [ FLASHED_UBOOT != 1 ]
+	then
+		update_uboot "$TARGETFILE"
+		FLASHED_UBOOT="1"
+	fi
+	;;	
+	
     *)
         ;;
     esac
============================================================
--- packages/zaurus-updater/zaurus-updater.bb	f8f7bbf562514bec8076212836576397889ee6ed
+++ packages/zaurus-updater/zaurus-updater.bb	6e0132a319145e0bee0939723f38518cc48760b8
@@ -1,7 +1,7 @@ LICENSE = "zaurus-updater"
 DESCRIPTION = "Encrypted shellscript for the Zaurus ROM update"
 DEPENDS = "encdec-updater-native"
 LICENSE = "zaurus-updater"
-PR = "r19"
+PR = "r20"
 
 PACKAGES = ""
 PACKAGE_ARCH = "${MACHINE_ARCH}"






More information about the Openembedded-commits mailing list