--- lib/PXElator/config.pm 2010/05/17 15:19:18 502 +++ lib/PXElator/config.pm 2010/07/10 12:57:38 503 @@ -17,7 +17,7 @@ our $server; our $server_ip; -sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla/ }; +sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla ubuntu/ }; sub debian_live { my ($ip) = @_; @@ -139,6 +139,27 @@ }); } + +sub ubuntu { + my $ip = shift; + upstream::iso( 'http://mirrors.us.kernel.org/ubuntu-releases/lucid/ubuntu-10.04-desktop-i386.iso' ); + + my $export = "$server::base_dir/tftp/ubuntu/iso"; + my $exported = `exportfs | grep $export`; + if ( $exported ne $export ) { + warn "exportfs $exported\n"; + system "sudo exportfs -i -o rw,async,no_root_squash,no_subtree_check,fsid=999 $ip:$export"; + } + pxelinux::config_for_ip( $ip, qq{ + +default linux +label linux + kernel iso/casper/vmlinuz + append initrd=iso/casper/initrd.lz boot=casper netboot=nfs nfsroot=$server_ip:$export -- + + }); +} + sub in_chroot { my ( $dir, $command ) = @_; write_file "$dir/tmp/inside.sh", $command;