-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathinit.sh
executable file
·70 lines (51 loc) · 1.58 KB
/
init.sh
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
#!/bin/sh
echo -e "\nFinal initialization.\n"
# init system fs
mkdir -p /dev
# mknod -m 0600 /dev/console c 5 1
# mknod -m 0644 /dev/loop0 b 7 0
# mknod -m 0666 /dev/null c 1 3
# mknod -m 0666 /dev/zero c 1 5
# mknod -m 0660 /dev/tty c 5 0
# mknod -m 0660 /dev/ttyS0 c 4 64
mkdir -p /etc
mkdir -p /tmp
# mkdir -m 0700 /root
mkdir -p /proc
mkdir -p /sys
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev
mount -t tmpfs none /tmp
mount -t debugfs none /sys/kernel/debug
mount -t tracefs nodev /sys/kernel/tracing
# init network
ip link set eth0 up
udhcpc -i eth0 -s /etc/udhcp/simple.script
ifconfig lo 127.0.0.1 netmask 255.255.255.0
ifconfig eth0 10.0.2.15 netmask 255.255.255.0
route add default gw 10.0.2.2
echo "nameserver 8.8.8.8" > /etc/resolv.conf
# init ftrace
# echo function_graph > /sys/kernel/tracing/current_tracer
# echo schedule > /sys/kernel/tracing/set_graph_function
# echo 'syscalls:*' > /sys/kernel/tracing/set_event
# echo 'raw_syscalls:sys_enter' > /sys/kernel/tracing/set_event
echo -e "\nBoot took $(cut -d' ' -f1 /proc/uptime) seconds\n"
# prepare swaparea for visualinux evaluation
SWAP_FILE=/workload/swapfile
dd if=/dev/zero of=$SWAP_FILE bs=1024 count=16
mkswap $SWAP_FILE
chmod 600 $SWAP_FILE
swapon $SWAP_FILE
# workload entry
./workload/test/summation
DIRTY_PIPE_TESTFILE=./workload/dirty-pipe/test.txt
yes 'a' | head -n 10000 > $DIRTY_PIPE_TESTFILE
# ./workload/dirty-pipe/exploit $DIRTY_PIPE_TESTFILE 3 xxyyyzz
# ./workload/exp/exploit
# mkdir -p /exp
# mount -t 9p exp /exp
# cp /workload/exp/exploit /exp/
# ./exp/exploit
sh