summaryrefslogtreecommitdiff
path: root/tools/img-setup.sh
blob: d1c3964d596dd23e71af211d3af607177f8d02a1 (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/sh
UTEST_PATH=`dirname $0 | xargs realpath | xargs dirname`
UTEST_CMD=`basename $0`

# Sanity checks --------------------------------------------------------------
if [ $# -ne 1 ] ; then
    echo "$UTEST_CMD: usage $UTEST_CMD image-file"
    exit 1
fi

# Mount guest filesystem -----------------------------------------------------
$UTEST_PATH/tools/img-mnt.sh $1
if [ $? -ne 0 ] ; then
    exit 1
fi

# Check it is a valid root file system ---------------------------------------
$UTEST_PATH/tools/chk-rootfs.sh
if [ $? -ne 0 ] ; then
    $UTEST_PATH/tools/img-umnt.sh
    exit 1
fi

echo "$UTEST_CMD: rootfs ? OK"

# Setup directories ----------------------------------------------------------
if [ ! -d $UTEST_PATH/mnt/utest ] ; then
    mkdir $UTEST_PATH/mnt/utest
    if [ $? -ne 0 ] ; then
        echo toto $UTEST_PATH/mnt/utest
        $UTEST_PATH/tools/img-umnt.sh
        exit 1
    fi
fi
if [ ! -d $UTEST_PATH/mnt/utest/share ] ; then
    mkdir $UTEST_PATH/mnt/utest/share
    if [ $? -ne 0 ] ; then
        $UTEST_PATH/tools/img-umnt.sh
        exit 1
    fi
fi
if [ ! -d $UTEST_PATH/mnt/utest/tests ] ; then
    mkdir $UTEST_PATH/mnt/utest/tests
    if [ $? -ne 0 ] ; then
        $UTEST_PATH/tools/img-umnt.sh
        exit 1
    fi
fi

chown -R root:root $UTEST_PATH/mnt/utest
if [ $? -ne 0 ] ; then
    $UTEST_PATH/tools/img-umnt.sh
    exit 1
fi

# Setup fstab ----------------------------------------------------------------
grep "/utest/share" $UTEST_PATH/mnt/etc/fstab
if [ $? -ne 0 ] ; then
    echo "hostshare /utest/share 9p trans=virtio 0 0" >> $UTEST_PATH/mnt/etc/fstab
fi
grep "/utest/tests" $UTEST_PATH/mnt/etc/fstab
if [ $? -ne 0 ] ; then
    echo "hosttests /utest/tests 9p trans=virtio 0 0" >> $UTEST_PATH/mnt/etc/fstab
fi
grep "/lib/modules" $UTEST_PATH/mnt/etc/fstab
if [ $? -ne 0 ] ; then
    echo "hostmodules /lib/modules 9p trans=virtio 0 0" >> $UTEST_PATH/mnt/etc/fstab
fi

# Setup systemd --------------------------------------------------------------
if [ ! -d $UTEST_PATH/mnt/etc/systemd/system/utest.target.wants ] ; then
    mkdir $UTEST_PATH/mnt/etc/systemd/system/utest.target.wants
    if [ $? -ne 0 ] ; then
        $UTEST_PATH/tools/img-umnt.sh
        exit 1
    fi
fi
cp tools/utest.service $UTEST_PATH/mnt/usr/lib/systemd/system/
if [ $? -ne 0 ] ; then
    $UTEST_PATH/tools/img-umnt.sh
    exit 1
fi
cp tools/utest.target $UTEST_PATH/mnt/usr/lib/systemd/system/
if [ $? -ne 0 ] ; then
    $UTEST_PATH/tools/img-umnt.sh
    exit 1
fi

# We are done ! --------------------------------------------------------------
$UTEST_PATH/tools/img-umnt.sh
echo "$UTEST_CMD: OK"
exit 0