diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-11-05 13:29:36 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-11-06 11:41:05 +0100 |
| commit | c487cd4633a98235359d6084383d8c7ea49600bc (patch) | |
| tree | d99fa8483df82ca5cc3e4c48269d090fadfb45a3 /pkg/instance/instance.go | |
| parent | bc2c6e45b9f01fa6046cb3efa9d3aae9f05238a8 (diff) | |
pkg/build: refactor Image function arguments
Image takes too many arguments, so we need to do lots of forwarding,
adding new argumnets is painful and most OSes are not interested
in lots of arguments.
Combine all arguments into a params struct.
Diffstat (limited to 'pkg/instance/instance.go')
| -rw-r--r-- | pkg/instance/instance.go | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go index b3e24aace..163ef285a 100644 --- a/pkg/instance/instance.go +++ b/pkg/instance/instance.go @@ -88,16 +88,25 @@ func (env *env) BuildSyzkaller(repo, commit string) error { return nil } -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 { +func (env *env) BuildKernel(compilerBin, userspaceDir, cmdlineFile, sysctlFile string, kernelConfig []byte) ( + string, error) { + imageDir := filepath.Join(env.cfg.Workdir, "image") + params := &build.Params{ + TargetOS: env.cfg.TargetOS, + TargetArch: env.cfg.TargetVMArch, + VMType: env.cfg.Type, + KernelDir: env.cfg.KernelSrc, + OutputDir: imageDir, + Compiler: compilerBin, + UserspaceDir: userspaceDir, + CmdlineFile: cmdlineFile, + SysctlFile: sysctlFile, + Config: kernelConfig, + } + if err := build.Image(params); err != nil { return "", err } - if err := SetConfigImage(cfg, imageDir, true); err != nil { + if err := SetConfigImage(env.cfg, imageDir, true); err != nil { return "", err } kernelConfigFile := filepath.Join(imageDir, "kernel.config") |
