configure kvm.bin so we can call qemu-system-i386 if needed
[pxelator] / lib / PXElator / kvm.pm
index c6e4383..5cbc0bc 100644 (file)
@@ -69,15 +69,20 @@ sub start {
        system "brctl addif virtual $ifname"
                unless `brctl show` =~ m{$ifname};
 
-       my $name = client::conf( client::ip_from_mac $mac, 'hostname' );
+       my $ip = client::ip_from_mac $mac;
+
+       my $name = client::conf( $ip, 'hostname' );
        $name ||= $nr;
 
+       my $kvm_bin = client::conf( $ip => 'kvm.bin' ) || 'kvm';
+       my $boot = client::conf( $ip, 'kvm.boot' ) || 'n'; # network by default
+
        my $kvm = qq|
-               kvm
+               $kvm_bin
                -name "$name"
                -m $memory_size -net nic,macaddr=$mac
                -net tap,ifname=$ifname,script=no
-               -boot n
+               -boot $boot
                -monitor tcp:$mon,server,nowait
                -serial  tcp:$ser,server,nowait
        |;
@@ -94,7 +99,7 @@ sub start {
 
 sub nr_from_mac {
        my $mac = shift;
-       $mac =~ s{^.+:([0-9a-f]{2})$}{hex($1)}e;
+       $mac =~ s<^.+:([0-9a-f]{2})$><hex($1)>e;
        $mac;
 }