summaryrefslogtreecommitdiffstats
path: root/rescue/Flash/scripts/test_badblocks
blob: 3fb1f34d879bdfff670d29173cfa03350c567ada (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash

# import functions library
source rescue_common

tmpdir="/tmp/flash-rescue-root"
rootdir="$tmpdir/pen"

function prepare() {

    return 0
}

function doit() {

    clear
    echo
    echo "WARNING!"
    echo
    echo "Searching for bad blocks in Mandriva Flash is a slow process."
    echo
    echo -n "Do you want to continue? [N/y] "
    read confirm
    
    echo
    echo

    device=$(cat /tmp/rescue-device)

    if [ x"$confirm" = x"y" -o x"$confirm" = x"Y" ]; then

        /sbin/badblocks -n -v -s ${device}1
        if [ x"$version" = x"1.0" ]; then
            /sbin/badblocks -n -v -s ${device}2
        fi
    fi

    echo
    echo 'Bad blocks scan completed!'
    echo

    return 0
}

function cleanup() {

    umount $rootdir > /dev/null 2>&1
    rmdir $rootdir $tmpdir 2> /dev/null
}

clear
trap cleanup SIGINT

version=""
if ! insert_pendrive; then
    exit 1
fi

if ! prepare; then
    cleanup
    exit 1
fi

if ! doit; then
    cleanup
    exit 1
fi

cleanup