mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 09:16:29 +00:00
Merge pull request #69 from justincormack/gcp-fix
Do not use Linuxkit to build GCP images for now
This commit is contained in:
commit
3a16c02f10
@ -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:
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user