From 67ce863533e527268c6353ad0287d8dc3bf2fed5 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 22 Jun 2018 19:10:49 +0200 Subject: pkg/build: save kernel config for gvisor gvisor does not use it, but save it verbatim. This can be useful to keep some additional description of the build. --- pkg/build/gvisor.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pkg') diff --git a/pkg/build/gvisor.go b/pkg/build/gvisor.go index b96d55cf0..7b7748f17 100644 --- a/pkg/build/gvisor.go +++ b/pkg/build/gvisor.go @@ -4,6 +4,7 @@ package build import ( + "fmt" "path/filepath" "time" @@ -17,13 +18,18 @@ func (gvisor) build(targetArch, vmType, kernelDir, outputDir, compiler, userspac if err := osutil.MkdirAll(outputDir); err != nil { return err } - if _, err := osutil.RunCmd(20*time.Minute, kernelDir, compiler, "build", "--verbose_failures", "--sandbox_debug", "runsc"); err != nil { + if _, err := osutil.RunCmd(20*time.Minute, kernelDir, compiler, "build", "--verbose_failures", "runsc"); err != nil { return err } runsc := filepath.Join(kernelDir, "bazel-bin", "runsc", "linux_amd64_pure_stripped", "runsc") if err := osutil.CopyFile(runsc, filepath.Join(outputDir, "image")); err != nil { return err } + if len(config) != 0 { + if err := osutil.WriteFile(filepath.Join(outputDir, "kernel.config"), config); err != nil { + return fmt.Errorf("failed to save kernel config: %v", err) + } + } osutil.RunCmd(10*time.Minute, kernelDir, compiler, "shutdown") return nil } -- cgit mrf-deployment