--- lib/PXElator/config.pm 2009/08/04 18:36:07 145 +++ lib/PXElator/config.pm 2009/08/11 23:38:53 201 @@ -6,8 +6,11 @@ use server; use pxelinux; +use client; use File::Slurp; +sub available { qw/debian_live webconverger debirf tinycore/ }; + sub debian_live { $dhcpd::file = "pxelinux.0"; $pxelinux::path_prefix = 'live-helper/tftpboot/'; @@ -25,16 +28,19 @@ =cut sub webconverger { - my $ip = shift; + my ($ip) = @_; upstream::iso( 'http://download.webconverger.com/webc-5.2.iso' ); + my $homepage = client::conf( $ip => 'homepage', default => "http://${server::ip}:7777/client" ); + my $hostname = client::conf( $ip => 'hostname' ) || 'webconverger'; + pxelinux::config_for_ip( $ip, qq{ default webconverger label webconverger kernel iso/live/vmlinuz-2.6.30-backports.1-486 - append initrd=iso/live/initrd.img-2.6.30-backports.1-486 fetch=http://172.16.10.1:7777/webconverger/iso/live/filesystem.squashfs boot=live quiet homepage=http://172.16.10.1:7777/ nonetworking nosudo splash video=vesa:ywrap,mtrr vga=788 nopersistent username=webc hostname=webconverger union=aufs + append initrd=iso/live/initrd.img-2.6.30-backports.1-486 fetch=http://${server::ip}:7777/webconverger/iso/live/filesystem.squashfs boot=live quiet nosudo splash video=vesa:ywrap,mtrr vga=788 nopersistent username=webc hostname=$hostname union=aufs homepage=$homepage }); @@ -78,10 +84,8 @@ sub for_ip { my $ip = shift; - debian_live($ip); -# webconverger($ip); -# debirf($ip); -# tinycore($ip); + my $deploy = client::conf( $ip => 'deploy', default => 'webconverger' ); + eval $deploy . '($ip)'; # $tftp::dir = "$server::base_dir/tftp/$pxelinux::path_prefix"; }