summaryrefslogtreecommitdiff
path: root/contrib/SD/root/home/mtadm/install.sh
blob: 0d3442b481613aeed659e094a2be01b76241451b (plain)
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
#!/bin/bash
fail=0
function verify
{
    dev=$1
    file=$2
    tfile=$(mktemp -tp /tmp md5sum.XXXXXX)

    count=$(stat -Lc %s $file)
    cat $file | md5sum >$tfile
    echo "Check device $dev $file against file $tfile for $count bytes"
    echo 
    if nanddump -l $count $dev | md5sum -c $tfile ; then
	    echo "File $2 verified"
    else
	    echo "File $2 fails on NAND check"
	    ((++fail))
            exit 1
    fi
}
if (($# < 1)) || ! [[ -d $1 ]] ; then
    echo "Did not find a directory"
    echo "Possibly one of  $(find /images -type d)"
    exit 1
fi
cd $1
set -e
flash_erase /dev/mtd1 0 0
nandwrite -p /dev/mtd1 bstrap.bin
verify /dev/mtd1 bstrap.bin
flash_erase /dev/mtd2 0 0
nandwrite -p /dev/mtd2 uboot.bin
verify /dev/mtd2 uboot.bin
flash_erase /dev/mtd3 0 0
flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd5 0 0
nandwrite -p /dev/mtd5 uImage.bin
verify /dev/mtd5 uImage.bin
flash_erase -j /dev/mtd6 0 0
flash_erase -j /dev/mtd7 0 0
flash_erase -j /dev/mtd8 0 0
nandwrite -p /dev/mtd8 rootfs.jffs2
verify /dev/mtd8 rootfs.jffs2
flash_erase -j /dev/mtd9 0 0
if ((fail > 0)) ; then
	echo "ERROR: One or more failures writing NAND"
	echo "Check log"
fi