summaryrefslogtreecommitdiff
path: root/client-build/03-run-system.sh
blob: da9ab4d709dfca9606704a930a7c7c9cae858661 (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
#!/bin/bash
# Run QEMU with the wooclient.img

TARGET=wooclient.img
SSHDIR=./ssh
SSHKEY=${SSHDIR}/wooclient.key
#SSHKNH=${SSHDIR}/known_hosts
SSHKNH=/dev/null
SSHOPTS="-o StrictHostKeyChecking=off -o UserKnownHostsFile=${SSHKNH}"

echo "start the system.."
# Run qemu
qemu-system-x86_64 -m 4G -enable-kvm -net nic,model=rtl8139 \
	-net user,hostfwd=tcp::2222-:22,hostfwd=tcp::7776-:7776 \
	-display none -hda $TARGET 2>&- &

echo ".. and wait some time (20s) until it is ready!"
# wait 20s for system to boot up
sleep 20

# create an ssh keypair..
if [ ! -f $SSHKEY ]
then    
        ssh-keygen -q -f $SSHKEY -t ed25519 -N ""
	# ..and add the public keys to the vm
	#ssh-keygen -f "${SSHKNH}/known_hosts" -R "[localhost]:2222"
	echo "install ssh public key on \"root\" account - passwd \"wooclient\""
	ssh-copy-id -f -i $SSHKEY -p 2222 $SSHOPTS root@localhost
	echo "install ssh public key on \"testuser\" account - passwd \"test\$us3r\""
	ssh-copy-id -f -i $SSHKEY -p 2222 $SSHOPTS testuser@localhost
fi

# Choose what to do
SELMENU='
firefox:  start "firefox" in VM
chromium: start "chromium" in VM
local:    use a "firefox" or "chromium" on the host
login:    login into VM as "root"
exit:     exit script: will terminate VM
'
echo "$SELMENU"
PS3='please enter your choice: '
choices=("firefox" "chromium" "local" "login" "exit")
select opt in "${choices[@]}"
do
	case "$opt" in
		"firefox")
			ssh -q $SSHOPTS -F ${SSHDIR}/firefox.cfg localhost 2>&-
			echo
		;; 
		"chromium")
			ssh -q $SSHOPTS -F ${SSHDIR}/chromium.cfg localhost 2>&-
			echo
		;;
		"login")
			ssh $SSHOPTS -F ${SSHDIR}/root.cfg localhost 2>&-
			echo
		;;
		"local")
			echo
			echo "manually start \"firefox\" or \"chrome|chromium\" on the host:"
			echo "extensions \"re:claimID\" and \"GNU Taler wallet\" have to be installed!"
			echo
		;;
		"exit")
			echo "terminating VM and exit"
			kill %1
			break
		;;
	esac
	read -n 1 -s -r -p "press any key to continue: "
	echo
done