summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2017-01-28 17:19:41 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2017-02-04 17:20:09 +0100
commitd052f13999a53e440975e0192c67c8a42c75e4ea (patch)
tree628cc1a5f98c2a6beedd8a4f0cc1f0b3282a72ce
parent2ea0ccb6c5fb029aa8db997bdab7e1ef43df1406 (diff)
nwztools/script: fix dump_rootfs.sh to handle ext4
Change-Id: I04bd7599a58669df96dfd018a2ab0e3d53e06694
-rw-r--r--utils/nwztools/scripts/dump_rootfs.sh18
1 files changed, 16 insertions, 2 deletions
diff --git a/utils/nwztools/scripts/dump_rootfs.sh b/utils/nwztools/scripts/dump_rootfs.sh
index 36e521ce3b..0a5570f050 100644
--- a/utils/nwztools/scripts/dump_rootfs.sh
+++ b/utils/nwztools/scripts/dump_rootfs.sh
@@ -66,8 +66,22 @@ lcdmsg -f /usr/local/bin/font_08x12.bmp -l 0,12 "Dumping rootfs..."
ROOTFS_TMP_DIR=/tmp/rootfs
mkdir $ROOTFS_TMP_DIR
. /install_script/constant.txt
-if ! mount -t ext3 -o ro $COMMON_ROOTFS_PARTITION $ROOTFS_TMP_DIR
-then
+
+# 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
lcdmsg -f /usr/local/bin/font_08x12.bmp -l 0,13 "ERROR: cannot mount rootfs"
else
tar -cf $DUMP_DIR/rootfs.tar $ROOTFS_TMP_DIR