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) = @_;
});
}
+
+# 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 ) = @_;
write_file "$dir/tmp/inside.sh", $command;