diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-05-17 14:50:18 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-05-17 14:50:18 +0200 |
| commit | 6595937c34ea6357fb93780c3b5548ffc238526d (patch) | |
| tree | 288cbe0e09209d53549766976eab52dccbd72461 /pkg/instance/instance.go | |
| parent | 9c84f7c395e74f3b5aafcad217e9bb8b574fb290 (diff) | |
tools/create-gce-image.sh: support both nbd and loop
Pass target OS/arch and VM type to kernel.CreateImage.
Use nbd for gce and loop for qemu VM type.
Diffstat (limited to 'pkg/instance/instance.go')
| -rw-r--r-- | pkg/instance/instance.go | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go index eb9a06205..ae94c265f 100644 --- a/pkg/instance/instance.go +++ b/pkg/instance/instance.go @@ -79,14 +79,15 @@ func (env *Env) BuildSyzkaller(repo, commit string) error { } func (env *Env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile string, kernelConfig []byte) error { - if err := kernel.Build(env.cfg.KernelSrc, compilerBin, kernelConfig); err != nil { + cfg := env.cfg + if err := kernel.Build(cfg.KernelSrc, compilerBin, kernelConfig); err != nil { return fmt.Errorf("kernel build failed: %v", err) } - env.cfg.Vmlinux = filepath.Join(env.cfg.KernelSrc, "vmlinux") - env.cfg.Image = filepath.Join(env.cfg.Workdir, "syz-image") - env.cfg.SSHKey = filepath.Join(env.cfg.Workdir, "syz-key") - if err := kernel.CreateImage(env.cfg.KernelSrc, userspaceDir, - cmdlineFile, sysctlFile, env.cfg.Image, env.cfg.SSHKey); err != nil { + cfg.Vmlinux = filepath.Join(cfg.KernelSrc, "vmlinux") + cfg.Image = filepath.Join(cfg.Workdir, "syz-image") + cfg.SSHKey = filepath.Join(cfg.Workdir, "syz-key") + if err := kernel.CreateImage(cfg.TargetOS, cfg.TargetVMArch, cfg.Type, + cfg.KernelSrc, userspaceDir, cmdlineFile, sysctlFile, cfg.Image, cfg.SSHKey); err != nil { return fmt.Errorf("image build failed: %v", err) } return nil |
