utility app: fix flash read/write problem on mtd devices
[keystone-demos/matrix-apps.git] / utility_flash / cgi-bin / flashwrite.cgi
index 2f17741fc9507fb9fa6ea0016d44f225bd08fdfb..c53dc1ddb608e6d9f0ece54b9102ac8df143c238 100755 (executable)
@@ -9,7 +9,7 @@ cat << EOM
 </head>
 <body>
 <div id='wrapper'><div id='logo'><h1>Flash Write</h1>
-</div><div id='header'><div id='menu'><ul><li><a href='/flash.html'>Back</a></li>
+</div><div id='header'><div id='menu'><ul>
 </ul></div></div></div>
 <div id='page'>
 EOM
@@ -29,7 +29,7 @@ TMPFILE=`mktemp`
 TMPFILE_DATA=`mktemp`
 cat > $TMPFILE
 partition=$(cat $TMPFILE | sed -n '4p'| sed 's/.$//')
-mtddevname=$(cat /proc/mtd | awk -v pat="$partition" '$0 ~ pat {printf $1}' | sed 's/://')
+mtddevname=$(cat /proc/mtd | awk 'NR < 4' | awk -v pat="$partition" '$0 ~ pat {printf $1}' | sed 's/://')
 mtddev="/dev/"$mtddevname
 soffset=$(head -8 $TMPFILE | wc -c)
 eoffset=$(tail -1 $TMPFILE | wc -c)
@@ -63,7 +63,7 @@ rm -f $TMPFILE
 exit
 fi
 
-mtdsz="0x"$(cat /proc/mtd | awk -v pat="$partition" '$0 ~ pat {printf $2}')
+mtdsz="0x"$(cat /proc/mtd | awk 'NR < 4' | awk -v pat="$partition" '$0 ~ pat {printf $2}')
 mtdsz=$(($mtdsz))
 if [ $osize -gt $mtdsz ] ; then
 cat << EOM1