aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/build/linux.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/build/linux.go')
-rw-r--r--pkg/build/linux.go14
1 files changed, 7 insertions, 7 deletions
diff --git a/pkg/build/linux.go b/pkg/build/linux.go
index f08455c39..be2341311 100644
--- a/pkg/build/linux.go
+++ b/pkg/build/linux.go
@@ -31,20 +31,20 @@ func (linux linux) build(params *Params) error {
return err
}
kernelPath := filepath.Join(params.KernelDir, filepath.FromSlash(kernelBin(params.TargetArch)))
- if fileInfo, err := os.Stat(params.UserspaceDir); err == nil && !fileInfo.IsDir() && params.VMType == "qemu" {
+ if fileInfo, err := os.Stat(params.UserspaceDir); err == nil && fileInfo.IsDir() {
+ // The old way of assembling the image from userspace dir.
+ // It should be removed once all syzbot instances are switched.
+ return linux.createImage(params, kernelPath)
+ }
+ if params.VMType == "qemu" {
// If UserspaceDir is a file (image) and we use qemu, we just copy image and kernel to the output dir
// assuming that qemu will use injected kernel boot. In this mode we also assume password/key-less ssh.
- // In future it would be good to switch to accepting complete disk image always and just replacing
- // kernel in it for GCE VMs (assembling image from userspace files in createImage isn't reasonable).
if err := osutil.CopyFile(kernelPath, filepath.Join(params.OutputDir, "kernel")); err != nil {
return err
}
return osutil.CopyFile(params.UserspaceDir, filepath.Join(params.OutputDir, "image"))
}
- if err := linux.createImage(params, kernelPath); err != nil {
- return err
- }
- return nil
+ return embedLinuxKernel(params, kernelPath)
}
func (linux linux) sign(params *Params) (string, error) {