X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=biosautoraid.pl;h=1a262a95a58f6363a47770108a03febcf58d164b;hb=c5fdbe63f0b69669719797bd5f716c34063661c8;hp=6d476f71f040220b06afcf1698ef8b29ba3ba27e;hpb=bde94578cf10408cdf51e0c42436db9f74e8ef72;p=biosautoraid.git diff --git a/biosautoraid.pl b/biosautoraid.pl index 6d476f7..1a262a9 100755 --- a/biosautoraid.pl +++ b/biosautoraid.pl @@ -22,10 +22,12 @@ my $MAX_BOOT_SIZE=0x1b6; # LILO: leave some space for NT's and DR DOS' dirty my $bin_filename="./biosautoraid.bin"; +my $opt_part1; my $opt_install; my $opt_uninstall; my $options_error=!GetOptions( "bin=s" ,\$bin_filename, + "part1=s" ,\$opt_part1, "i|install" ,\$opt_install, "u|uninstall",\$opt_uninstall, ); @@ -79,7 +81,6 @@ if ($master_is_f) { if ($master_is_b) { die "Filename is block device but it is unsupported: $master_filename" if $master_filename!~m{^/dev/[hs]d[a-z]}; - $backup_filename=$master_filename."1"; sub hdparm_g_start_check($$) { @@ -97,9 +98,18 @@ if ($master_is_b) { } hdparm_g_start_check($master_filename,0); - hdparm_g_start_check($backup_filename,$backup_offset/0x200); + if (!$opt_part1) { + $backup_filename=$master_filename."1"; + hdparm_g_start_check($backup_filename,$backup_offset/0x200); + } + else { + $backup_filename=$opt_part1; + hdparm_g_start_check($backup_filename,0); + $opt_part1=undef(); + } $backup_offset=0; } +die "Irelevantni parametr: --part1" if $opt_part1; my $MASTER; open $MASTER,"+<".$master_filename or die "open \"$master_filename\": $!";