diff --git a/cmd/moby/linuxkit.go b/cmd/moby/linuxkit.go index ac5be8780..5d14e5855 100644 --- a/cmd/moby/linuxkit.go +++ b/cmd/moby/linuxkit.go @@ -22,7 +22,7 @@ init: - linuxkit/containerd:b1766e4c4c09f63ac4925a6e4612852a93f7e73b onboot: - name: mkimage - image: "linuxkit/mkimage:f4bf0c24261f7d120c8674892805ab3054eb8ac3" + image: "linuxkit/mkimage:5ad60299be03008f29c5caec3c5ea4ac0387aae6" - name: poweroff image: "linuxkit/poweroff:a8f1e4ad8d459f1fdaad9e4b007512cb3b504ae8" trust: diff --git a/cmd/moby/output.go b/cmd/moby/output.go index 9979a812b..6d7843e50 100644 --- a/cmd/moby/output.go +++ b/cmd/moby/output.go @@ -17,6 +17,7 @@ import ( const ( bios = "linuxkit/mkimage-iso-bios:db791abed6f2b5320feb6cec255a635aee3756f6@sha256:e57483075307bcea4a7257f87eee733d3e24e7a964ba15dcc01111df6729ab3b" efi = "linuxkit/mkimage-iso-efi:5c2fc616bde288476a14f4f6dd0d273a66832822@sha256:876ef47ec2b30af40e70f1e98f496206eb430915867c4f9f400e1af47fd58d7c" + gcp = "linuxkit/mkimage-gcp:46716b3d3f7aa1a7607a3426fe0ccebc554b14ee@sha256:18d8e0482f65a2481f5b6ba1e7ce77723b246bf13bdb612be5e64df90297940c" vhd = "linuxkit/mkimage-vhd:a04c8480d41ca9cef6b7710bd45a592220c3acb2@sha256:ba373dc8ae5dc72685dbe4b872d8f588bc68b2114abd8bdc6a74d82a2b62cce3" vmdk = "linuxkit/mkimage-vmdk:182b541474ca7965c8e8f987389b651859f760da@sha256:99638c5ddb17614f54c6b8e11bd9d49d1dea9d837f38e0f6c1a5f451085d449b" ) @@ -116,61 +117,14 @@ var outFuns = map[string]func(string, []byte, int, bool) error{ return nil }, "gcp-img": func(base string, image []byte, size int, hyperkit bool) error { - filename := base + ".img.tar.gz" - log.Infof(" %s", filename) kernel, initrd, cmdline, err := tarToInitrd(image) if err != nil { return fmt.Errorf("Error converting to initrd: %v", err) } - tmp, err := ioutil.TempDir(filepath.Join(MobyDir, "tmp"), "gcp-img") - if err != nil { - return err - } - defer os.RemoveAll(tmp) - err = outputLinuxKit("raw", filepath.Join(tmp, "disk.raw"), kernel, initrd, cmdline, size, hyperkit) + err = outputImg(gcp, base+".img.tar.gz", kernel, initrd, cmdline) if err != nil { return fmt.Errorf("Error writing gcp-img output: %v", err) } - out, err := os.Create(filename) - if err != nil { - return err - } - in, err := os.Open(filepath.Join(tmp, "disk.raw")) - if err != nil { - return err - } - fi, err := in.Stat() - if err != nil { - return err - } - zw := gzip.NewWriter(out) - tw := tar.NewWriter(zw) - hdr := &tar.Header{ - Name: "disk.raw", - Mode: 0600, - Size: fi.Size(), - } - err = tw.WriteHeader(hdr) - if err != nil { - return err - } - io.Copy(tw, in) - err = tw.Close() - if err != nil { - return err - } - err = zw.Close() - if err != nil { - return err - } - err = in.Close() - if err != nil { - return err - } - err = out.Close() - if err != nil { - return err - } return nil }, "qcow2": func(base string, image []byte, size int, hyperkit bool) error {