aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/instance/instance.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/instance/instance.go')
-rw-r--r--pkg/instance/instance.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go
index 2294fed9b..cec79459a 100644
--- a/pkg/instance/instance.go
+++ b/pkg/instance/instance.go
@@ -79,16 +79,15 @@ func (env *Env) BuildSyzkaller(repo, commit string) error {
func (env *Env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile string, kernelConfig []byte) error {
cfg := env.cfg
- if err := build.Build(cfg.KernelSrc, compilerBin, kernelConfig); err != nil {
- return osutil.PrependContext("kernel build failed", err)
- }
- cfg.KernelObj = cfg.KernelSrc
- cfg.Image = filepath.Join(cfg.Workdir, "syz-image")
- cfg.SSHKey = filepath.Join(cfg.Workdir, "syz-key")
- if err := build.CreateImage(cfg.TargetOS, cfg.TargetVMArch, cfg.Type,
- cfg.KernelSrc, userspaceDir, cmdlineFile, sysctlFile, cfg.Image, cfg.SSHKey); err != nil {
- return osutil.PrependContext("image build failed", err)
+ imageDir := filepath.Join(cfg.Workdir, "image")
+ if err := build.Image(cfg.TargetOS, cfg.TargetVMArch, cfg.Type,
+ cfg.KernelSrc, imageDir, compilerBin, userspaceDir,
+ cmdlineFile, sysctlFile, kernelConfig); err != nil {
+ return err
}
+ cfg.KernelObj = filepath.Join(imageDir, "obj")
+ cfg.Image = filepath.Join(imageDir, "image")
+ cfg.SSHKey = filepath.Join(imageDir, "key")
return nil
}