diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-06-22 19:10:49 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-06-22 19:13:38 +0200 |
| commit | 67ce863533e527268c6353ad0287d8dc3bf2fed5 (patch) | |
| tree | cf8175837993a087d70c629bbc2e381b49bf4cf3 /pkg | |
| parent | 39a5713d72c6a3636eddd40d1ad2063b21299cae (diff) | |
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.
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/build/gvisor.go | 8 |
1 files changed, 7 insertions, 1 deletions
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 } |
