--- lib/PXElator/config.pm 2010/07/21 16:50:27 511 +++ lib/PXElator/config.pm 2010/07/21 18:52:54 517 @@ -17,7 +17,7 @@ our $server; our $server_ip; -sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla ubuntu freedos/ }; +sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla ubuntu memdisk/ }; sub debian_live { my ($ip) = @_; @@ -160,10 +160,10 @@ }); } -sub freedos { +sub memdisk { my $ip = shift; - my $dir = "$server::base_dir/tftp/freedos"; + my $dir = "$server::base_dir/tftp/memdisk"; mkdir $dir unless -e $dir; symlink '/usr/lib/syslinux/memdisk', "$dir/memdisk" unless -e "$dir/memdisk"; @@ -173,14 +173,20 @@ if ( ! $image ) { $image = 'freedos.gz'; upstream::mirror_file 'http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/unofficial/balder/balder10.imz' => "$dir/$image"; + warn "using $image [default FreeDOS]\n"; + symlink "$dir/$image", client::ip_path $ip . '/memdisk.image'; } else { - $image =~ s{^.+/tftp/freedos/}{} && warn "using $image\n"; + $image =~ s{^.+/tftp/memdisk/}{} && warn "using $image\n"; + } + + if ( my $kvm = client::conf $ip => 'kvm' ) { + client::conf $ip => 'kvm.bin', 'qemu-system-i386'; # FIXME kvm doesn't seem to work } pxelinux::config_for_ip( $ip, qq{ -default freedos -label freedos +default $image +label $image kernel memdisk append initrd=$image