--- lib/PXElator/config.pm 2010/10/09 12:14:28 539 +++ lib/PXElator/config.pm 2010/10/09 15:28:42 546 @@ -18,7 +18,13 @@ our $server; our $server_ip; -sub available { qw/katalog debian_live webconverger debirf tinycore nfsroot openvz printer wrt clonezilla ubuntu memdisk vyatta android/ }; +sub available { qw/ + katalog debian_live webconverger + debirf tinycore nfsroot + openvz printer wrt + clonezilla ubuntu memdisk vyatta android + systemrescue +/ }; sub debian_live { my ($ip) = @_; @@ -263,6 +269,28 @@ }); } + + +# http://www.sysresccd.org/Sysresccd-manual-en_PXE_network_booting +sub systemrescue { + my $ip = shift; + my $path = upstream::iso( 'http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/1.6.1/systemrescuecd-x86-1.6.1.iso/download' ); + + my $dir = "$server::base_dir/tftp/systemrescue"; + symlink '/usr/lib/syslinux/memdisk', "$dir/memdisk" unless -e "$dir/memdisk"; + + client::conf $ip => 'kvm.boot' => "n -cdrom $path"; + + pxelinux::config_for_ip( $ip, qq{ + +default systemrescue +label systemrescue + + kernel iso/isolinux/rescuecd + append initrd=iso/isolinux/initram.igz dodhcp netboot=http://$server::ip:7777/systemrescue/iso/sysrcd.dat + + }); +} sub in_chroot { my ( $dir, $command ) = @_;