start/stop kvm
[pxelator] / lib / PXElator / pxe.pm
index 353c711..d6c84b4 100644 (file)
@@ -18,7 +18,18 @@ my $url = $httpd::url;
 #$url = "tftp://$server::ip/"; # fallback to tftp
 #$url = "http://$server::ip/pxelator/";
 
-my $squash = tftpd::path('debian-live/*squashfs');
+use LWP::Simple qw/mirror RC_NOT_MODIFIED/;
+foreach my $file ( 'vmlinuz1', 'initrd1.img', 'debian-live-501-i386-standard.squashfs' ) {
+       my $path = "$tftpd::dir/debian-live";
+       mkdir $path unless -e $path;
+#      next if -e "$path/$file";
+       print STDERR "mirror $file ";
+       mirror( "http://cdimage.debian.org/cdimage/release/current-live/i386/web/$file", "$path/$file")
+               == RC_NOT_MODIFIED
+               && warn("not modified\n")
+               || warn("mirrored ", -s "$path/$file", "\n")
+               ;
+}
 
 sub config_for_ip {
 
@@ -29,16 +40,17 @@ sub config_for_ip {
        mkdir $config unless -d $config;
        $config .= '/' . $ip;
 
+       my $squash = $url . tftpd::path('debian-live/*squashfs');
        write_file $config, qq{
 
        default linux
        label linux
                kernel $url/debian-live/vmlinuz1
-               append initrd=$url/debian-live/initrd1.img boot=live union=aufs noswap noprompt vga=normal fetch=$url/$squash
+               append initrd=$url/debian-live/initrd1.img boot=live union=aufs noswap noprompt vga=normal fetch=$squash
 
        };
 
-       warn "config $config ", -s $config;
+       warn "config $config ", -s $config if $server::debug;
 
 }