diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-10-15 14:21:17 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-10-15 17:59:01 +0200 |
| commit | 2971d4d4e094ef9b847fa9bb6a2d0570702a8b7d (patch) | |
| tree | 8bc76a4e1cde1c0687f0d9332c2bb93052ac1a16 | |
| parent | 7a72606565501080db8ac4a92f7453dfac7793df (diff) | |
allow to omit -kernel flag in vm/qemu
For the case when image already contains the right kernel.
| -rw-r--r-- | vm/qemu/qemu.go | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/vm/qemu/qemu.go b/vm/qemu/qemu.go index 7e8d072ac..fa95fea7e 100644 --- a/vm/qemu/qemu.go +++ b/vm/qemu/qemu.go @@ -60,9 +60,6 @@ func ctor(workdir string, syscalls map[int]bool, port, index int, paramsData []b if _, err := os.Stat(p.Image); err != nil { return nil, fmt.Errorf("image file '%v' does not exist: %v", p.Image, err) } - if _, err := os.Stat(p.Kernel); err != nil { - return nil, fmt.Errorf("kernel file '%v' does not exist: %v", p.Kernel, err) - } if _, err := os.Stat(p.Sshkey); err != nil { return nil, fmt.Errorf("ssh key '%v' does not exist: %v", p.Sshkey, err) } @@ -219,19 +216,25 @@ func (inst *Instance) Run() { // Start the instance. // TODO: ignores inst.Cpu - inst.qemu = inst.CreateCommand(inst.Qemu, + args := []string{ + inst.Qemu, "-hda", inst.image, "-m", strconv.Itoa(inst.Mem), "-net", "nic", "-net", fmt.Sprintf("user,host=%v,hostfwd=tcp::%v-:22", hostAddr, inst.Port), "-nographic", - "-kernel", inst.Kernel, - "-append", "console=ttyS0 root=/dev/sda debug earlyprintk=serial slub_debug=UZ "+inst.Cmdline, "-enable-kvm", "-numa", "node,nodeid=0,cpus=0-1", "-numa", "node,nodeid=1,cpus=2-3", "-smp", "sockets=2,cores=2,threads=1", "-usb", "-usbdevice", "mouse", "-usbdevice", "tablet", - ) + } + if inst.Kernel != "" { + args = append(args, + "-kernel", inst.Kernel, + "-append", "console=ttyS0 root=/dev/sda debug earlyprintk=serial slub_debug=UZ "+inst.Cmdline, + ) + } + inst.qemu = inst.CreateCommand(args...) // Wait for ssh server. time.Sleep(10 * time.Second) start := time.Now() |
