add CD-ROM only if not used disk_image, also boot from it only if CD-ROM present
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
This commit is contained in:
parent
658e6e094b
commit
16110c6be6
|
@ -418,6 +418,15 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
|||
return nil, fmt.Errorf("Failed creating Qemu driver: %s", err)
|
||||
}
|
||||
|
||||
steprun := &stepRun{}
|
||||
if !b.config.DiskImage {
|
||||
steprun.BootDrive = "once=d"
|
||||
steprun.Message = "Starting VM, booting from CD-ROM"
|
||||
} else {
|
||||
steprun.BootDrive = "c"
|
||||
steprun.Message = "Starting VM, booting disk image"
|
||||
}
|
||||
|
||||
steps := []multistep.Step{
|
||||
&common.StepDownload{
|
||||
Checksum: b.config.ISOChecksum,
|
||||
|
@ -436,10 +445,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
|||
new(stepHTTPServer),
|
||||
new(stepForwardSSH),
|
||||
new(stepConfigureVNC),
|
||||
&stepRun{
|
||||
BootDrive: "once=d",
|
||||
Message: "Starting VM, booting from CD-ROM",
|
||||
},
|
||||
steprun,
|
||||
&stepBootWait{},
|
||||
&stepTypeBootCommand{},
|
||||
&common.StepConnectSSH{
|
||||
|
|
|
@ -82,7 +82,9 @@ func getCommandArgs(bootDrive string, state multistep.StateBag) ([]string, error
|
|||
defaultArgs["-netdev"] = fmt.Sprintf("user,id=user.0,hostfwd=tcp::%v-:22", sshHostPort)
|
||||
defaultArgs["-device"] = fmt.Sprintf("%s,netdev=user.0", config.NetDevice)
|
||||
defaultArgs["-drive"] = fmt.Sprintf("file=%s,if=%s,cache=%s", imgPath, config.DiskInterface, config.DiskCache)
|
||||
defaultArgs["-cdrom"] = isoPath
|
||||
if !config.DiskImage {
|
||||
defaultArgs["-cdrom"] = isoPath
|
||||
}
|
||||
defaultArgs["-boot"] = bootDrive
|
||||
defaultArgs["-m"] = "512M"
|
||||
defaultArgs["-vnc"] = vnc
|
||||
|
|
Loading…
Reference in New Issue