X-Git-Url: http://git.rot13.org/?p=pxelator;a=blobdiff_plain;f=lib%2FPXElator%2Fconfig.pm;h=e58f5c23500969a50cbd64f21294ac9c903e9425;hp=2843d3f0a14af849ce3c99a5be5d20c28acd1988;hb=21f3f6b29180ea95e519166695b1ef76b5dc728c;hpb=b7fc50594b6ab22117825f8a07b4743844429260 diff --git a/lib/PXElator/config.pm b/lib/PXElator/config.pm index 2843d3f..e58f5c2 100644 --- a/lib/PXElator/config.pm +++ b/lib/PXElator/config.pm @@ -17,7 +17,7 @@ our $mounted; our $server; our $server_ip; -sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla ubuntu/ }; +sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla ubuntu freedos/ }; sub debian_live { my ($ip) = @_; @@ -160,6 +160,28 @@ label linux }); } +sub freedos { + my $ip = shift; + + my $dir = "$server::base_dir/tftp/freedos"; + mkdir $dir unless -e $dir; + + symlink '/usr/lib/syslinux/memdisk', "$dir/memdisk" unless -e "$dir/memdisk"; + + my $floppy = 'freedos.img'; + + upstream::mirror_file 'http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/unofficial/balder/balder10.img' => "$dir/$floppy"; + + pxelinux::config_for_ip( $ip, qq{ + +default freedos +label freedos + kernel memdisk + append initrd=freedos.imz + + }); +} + sub in_chroot { my ( $dir, $command ) = @_; write_file "$dir/tmp/inside.sh", $command;