• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Setup: Linux or Mac OS host, Android device, arm64 kernel
2
3Prerequisites:
4 - go1.8+ toolchain (can be downloaded from [here](https://golang.org/dl/))
5 - Android Serial Cable or [Suzy-Q](https://chromium.googlesource.com/chromiumos/platform/ec/+/master/docs/case_closed_debugging.md) device to capture console output is preferable but optional. syzkaller can work with normal USB cable as well, but that can be somewhat unreliable and turn lots of crashes into "lost connection to test machine" crashes with no additional info.
6
7 - Build syzkaller
8
9In case you have old Android `/dev/ion` driver:
10
11```sh
12cp sys/android/* sys/linux
13make generate
14```
15
16Then:
17
18```sh
19make TARGETOS=linux TARGETARCH=arm64
20```
21
22 - Create config with `"type": "adb"` and specify adb devices to use. For example:
23```
24{
25	"target": "linux/arm64",
26	"http": "localhost:50000",
27	"workdir": "/gopath/src/github.com/google/syzkaller/workdir",
28	"syzkaller": "/gopath/src/github.com/google/syzkaller",
29	"sandbox": "none",
30	"procs": 8,
31	"type": "adb",
32	"vm": {
33		"devices": ["ABCD000010"]
34	}
35}
36```
37
38 - Start `syz-manager -config adb.cfg` as usual.
39
40If you get issues after `syz-manager` starts, consider running it with the `-debug` flag.
41Also see [this page](/docs/troubleshooting.md) for troubleshooting tips and [Building a Pixel kernel with KASAN+KCOV](https://source.android.com/devices/tech/debug/kasan-kcov) or [Building a PH-1 kernel with KASAN+KCOV](https://github.com/EssentialOpenSource/kernel-manifest/blob/master/README.md) for kernel build/boot instructions.
42