aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-10-15 14:21:17 +0200
committerDmitry Vyukov <dvyukov@google.com>2015-10-15 17:59:01 +0200
commit2971d4d4e094ef9b847fa9bb6a2d0570702a8b7d (patch)
tree8bc76a4e1cde1c0687f0d9332c2bb93052ac1a16
parent7a72606565501080db8ac4a92f7453dfac7793df (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.go17
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()