From 6595937c34ea6357fb93780c3b5548ffc238526d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 17 May 2018 14:50:18 +0200 Subject: 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. --- pkg/instance/instance.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'pkg/instance') 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 -- cgit mrf-deployment