mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-28 05:40:26 +00:00
2e0e3130f9
Seems to have been renamed.
49 lines
1.6 KiB
Go
49 lines
1.6 KiB
Go
// Copyright 2018 syzkaller project authors. All rights reserved.
|
|
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
|
|
|
|
package build
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
"time"
|
|
|
|
"github.com/google/syzkaller/pkg/osutil"
|
|
"github.com/google/syzkaller/sys/targets"
|
|
)
|
|
|
|
type fuchsia struct{}
|
|
|
|
func (fu fuchsia) build(targetArch, vmType, kernelDir, outputDir, compiler, userspaceDir,
|
|
cmdlineFile, sysctlFile string, config []byte) error {
|
|
sysTarget := targets.Get("fuchsia", targetArch)
|
|
if sysTarget == nil {
|
|
return fmt.Errorf("unsupported fuchsia arch %v", targetArch)
|
|
}
|
|
arch := sysTarget.KernelHeaderArch
|
|
if _, err := osutil.RunCmd(time.Hour, kernelDir, "scripts/fx", "clean-build", arch,
|
|
"--packages", "garnet/packages/products/sshd"); err != nil {
|
|
return err
|
|
}
|
|
for src, dst := range map[string]string{
|
|
"out/" + arch + "/images/fvm.blk": "image",
|
|
"out/" + arch + "/ssh-keys/id_ed25519": "key",
|
|
"out/build-zircon/build-" + arch + "/zircon.elf": "obj/zircon.elf",
|
|
"out/build-zircon/build-" + arch + "/zircon.bin": "kernel",
|
|
"out/" + arch + "/bootdata-blob-pc.bin": "initrd",
|
|
} {
|
|
fullSrc := filepath.Join(kernelDir, filepath.FromSlash(src))
|
|
fullDst := filepath.Join(outputDir, filepath.FromSlash(dst))
|
|
if err := osutil.CopyFile(fullSrc, fullDst); err != nil {
|
|
return fmt.Errorf("faied to copy %v: %v", src, err)
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (fu fuchsia) clean(kernelDir string) error {
|
|
// We always do clean build because incremental build is frequently broken.
|
|
// So no need to clean separately.
|
|
return nil
|
|
}
|