diff --git a/main.go b/main.go index 5099a1dda..34f860af9 100644 --- a/main.go +++ b/main.go @@ -223,13 +223,11 @@ func build(m *Moby, name string) { } var ( - conf string - cmdline bool - name string + conf string + name string ) func main() { - flag.BoolVar(&cmdline, "cmdline", false, "Print the kernel command line and exit") flag.StringVar(&name, "name", "", "Name to use for output files") flag.Parse() @@ -256,10 +254,5 @@ func main() { log.Fatalf("Invalid config: %v", err) } - if cmdline { - fmt.Printf("%s\n", m.Kernel.Cmdline) - return - } - build(m, name) } diff --git a/output.go b/output.go index e3499c00d..bacf21176 100644 --- a/output.go +++ b/output.go @@ -20,7 +20,7 @@ func outputs(m *Moby, base string, bzimage []byte, initrd []byte) error { for _, o := range m.Outputs { switch o.Format { case "kernel+initrd": - err := outputKernelInitrd(base, bzimage, initrd) + err := outputKernelInitrd(base, bzimage, initrd, m.Kernel.Cmdline) if err != nil { return fmt.Errorf("Error writing %s output: %v", o.Format, err) } @@ -156,7 +156,7 @@ func outputISO(image, filename string, bzimage []byte, initrd []byte, args ...st return nil } -func outputKernelInitrd(base string, bzimage []byte, initrd []byte) error { +func outputKernelInitrd(base string, bzimage []byte, initrd []byte, cmdline string) error { err := ioutil.WriteFile(base+"-initrd.img", initrd, os.FileMode(0644)) if err != nil { return err @@ -165,6 +165,10 @@ func outputKernelInitrd(base string, bzimage []byte, initrd []byte) error { if err != nil { return err } - fmt.Println(base + "-bzImage " + base + "-initrd.img") + err = ioutil.WriteFile(base+"-cmdline", []byte(cmdline), os.FileMode(0644)) + if err != nil { + return err + } + fmt.Println(base + "-bzImage " + base + "-initrd.img " + base + "-cmdline") return nil }