blob: 83df27cd9165c51d1eaaeb5e40c14233b16ec181 (
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
|
#!/bin/bash
set -e
if [ x`whoami` != x"root" ]; then
echo "ERROR: Need to run $0 as root"
exit 1
fi
board="auto"
disk=/dev/sda
fs_type=ext4
mnt=/mnt
rootfs_tar="default"
OPTS="`getopt -o v -l board:,rootfs: -- "$@"`"
while test $# -gt 0; do
case $1 in
--board) board="$2"; shift ;;
--rootfs) rootfs_tar="$2"; shift ;;
-v) set -x ;;
esac
shift
done
if [ x"$board" = x"auto" ]; then
case "$(uname -m)" in
"armv7l") board="tk1" ;;
"aarch64") board="tx1" ;;
*)
echo "ERROR: Cannot autodetect board from uname $(uname -m)"
exit 1
;;
esac
fi
if [ x"$rootfs_tar" = x"default" ]; then
rootfs_tar="http://images.validation.linaro.org/nvidia/$board/trusty.tar.gz"
fi
echo "ABOUT TO PARTITION AND FORMAT $disk"
parted -s $disk mklabel gpt
parted -s $disk mkpart primary $fs_type 1MB 116GB
parted -s $disk mkpart primary linux-swap 116GB 120GB
sleep 5
yes | mkfs.$fs_type -q ${disk}1
mkswap ${disk}2
echo "DONE PARTITIONING $disk:"
parted -s $disk print
mount ${disk}1 $mnt
case "$rootfs_tar" in
"http"*) cat_cmd="wget -O -" ;;
*) cat_cmd="cat" ;;
esac
case "$rootfs_tar" in
*".tar.gz") tar_opt="z" ;;
*".tar.bz2") tar_opt="j" ;;
*".tar.xz") tar_opt="J" ;;
esac
echo "WRITING ROOTFS TO ${disk}2"
$cat_cmd $rootfs_tar | (cd $mnt; tar x$tar_opt)
rm -f $mnt/README*
echo "${disk}2 none swap sw 0 0" >> $mnt/etc/fstab
sed -i -e "s/nameserver 127.0.1.1/nameserver 8.8.8.8/" $mnt/etc/resolv.conf
rsync -a "$(dirname $0)/../" $mnt/root/lab-ansible/
umount $mnt
echo "ALL DONE"
|