diff options
Diffstat (limited to 'pkg/instance/instance.go')
| -rw-r--r-- | pkg/instance/instance.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go index 30d0cbe4b..a84e9c89c 100644 --- a/pkg/instance/instance.go +++ b/pkg/instance/instance.go @@ -82,15 +82,22 @@ func (env *Env) BuildSyzkaller(repo, commit string) error { return nil } -func (env *Env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile string, kernelConfig []byte) error { +func (env *Env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile string, kernelConfig []byte) (string, error) { cfg := env.cfg 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 + return "", err + } + if err := SetConfigImage(cfg, imageDir, true); err != nil { + return "", err + } + kernelConfigFile := filepath.Join(imageDir, "kernel.config") + if !osutil.IsExist(kernelConfigFile) { + kernelConfigFile = "" } - return SetConfigImage(cfg, imageDir, true) + return kernelConfigFile, nil } func SetConfigImage(cfg *mgrconfig.Config, imageDir string, reliable bool) error { |
