github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/imagetool/makeRawImage.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "syscall" 6 7 "github.com/Cloud-Foundations/Dominator/lib/filesystem/util" 8 "github.com/Cloud-Foundations/Dominator/lib/log" 9 objectclient "github.com/Cloud-Foundations/Dominator/lib/objectserver/client" 10 ) 11 12 const filePerms = syscall.S_IRUSR | syscall.S_IWUSR | syscall.S_IRGRP | 13 syscall.S_IROTH 14 15 func makeRawImageSubcommand(args []string, logger log.DebugLogger) error { 16 _, objectClient := getClients() 17 if err := makeRawImage(objectClient, args[0], args[1]); err != nil { 18 return fmt.Errorf("Error making raw image: %s", err) 19 } 20 return nil 21 } 22 23 func makeRawImage(objectClient *objectclient.ObjectClient, name, 24 rawFilename string) error { 25 fs, objectsGetter, err := getImageForUnpack(objectClient, name) 26 if err != nil { 27 return err 28 } 29 return util.WriteRaw(fs, objectsGetter, rawFilename, filePerms, tableType, 30 *minFreeBytes, *roundupPower, *makeBootable, *allocateBlocks, logger) 31 }