From: Marius Gavrilescu Date: Wed, 5 Aug 2015 14:15:09 +0000 (+0300) Subject: Fix VM usage and update ex/runvm X-Git-Tag: 5999.000_005~6 X-Git-Url: http://git.ieval.ro/?a=commitdiff_plain;h=559c4eec958dfba14a2574ce939c838b93cb2711;p=gruntmaster-daemon.git Fix VM usage and update ex/runvm --- diff --git a/ex/runvm b/ex/runvm index 8495e51..18331a0 100755 --- a/ex/runvm +++ b/ex/runvm @@ -2,10 +2,10 @@ ROOT=. qemu-system-x86_64 \ - -enable-kvm -cpu host -m 256MB \ - -nodefaults -nographic \ + -enable-kvm -cpu host -m 1G \ + -nodefaults -display none -monitor none \ -kernel $ROOT/bzImage \ - -append 'root=/dev/vda console=ttyS0,1200 init=/bin/bash --login' \ + -append 'root=/dev/vda console=ttyS0,1200 acpi=noirq quiet init=/bin/bash --login' \ -drive file=$ROOT/vm.squashfs,if=virtio,readonly \ -virtfs local,id=virtfs0,path=.,security_model=none,mount_tag=virtfs \ - -serial stdio "$@" + -chardev stdio,id=stdio,signal=off -serial chardev:stdio "$@" diff --git a/lib/Gruntmaster/Daemon/Format.pm b/lib/Gruntmaster/Daemon/Format.pm index 4a57d6a..7b6f77b 100644 --- a/lib/Gruntmaster/Daemon/Format.pm +++ b/lib/Gruntmaster/Daemon/Format.pm @@ -29,8 +29,10 @@ sub runvm { my $cmd = $ENV{GRUNTMASTER_VM}; $cmd .= ' ' . $arg if $arg; get_logger->trace("Starting VM $name ($cmd)"); - $vm{$name} = Expect->spawn($cmd); + $vm{$name} = Expect->new; $vm{$name}->raw_pty(1); + $vm{$name}->log_stdout(0); + $vm{$name}->spawn($cmd); $vm{$name}->expect(5, '# ') or get_logger->logdie("Error while starting VM $name: ". $vm{$name}->error); } @@ -66,7 +68,7 @@ sub execlist { if ($vm{$vm}) { my $cmd = ">$er " . shell_quote 'gruntmaster-exec', @args; get_logger->trace("Running in VM $vm: $cmd"); - $vm{$vm}->send($cmd); + $vm{$vm}->send($cmd, "\n"); } else { $pid{$vm} = fork // die "Cannot fork\n"; unless ($pid{$vm}) {