aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/instance
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-11-05 13:29:36 +0100
committerDmitry Vyukov <dvyukov@google.com>2019-11-06 11:41:05 +0100
commitc487cd4633a98235359d6084383d8c7ea49600bc (patch)
treed99fa8483df82ca5cc3e4c48269d090fadfb45a3 /pkg/instance
parentbc2c6e45b9f01fa6046cb3efa9d3aae9f05238a8 (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')
-rw-r--r--pkg/instance/instance.go25
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")