Changeset 3666 in MondoRescue
- Timestamp:
- Jun 7, 2017, 2:28:35 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mindi/mr-parted2fdisk
r3664 r3666 121 121 my %end; 122 122 my %type; 123 my %boot; 123 124 my $fake = 0; 124 125 my $mega = 1048576; … … 236 237 # Reverse table of pid 237 238 while (($i,$l) = each %pid) { 238 next if ($i eq "ext2");239 239 $pnum{$l} = $i; 240 240 } 241 $pnum{"83"} = "ext3"; 241 242 242 243 # fdisk has a bug when handling more than 1024 disks, seen on RHEL … … 346 347 # parted needs MB 347 348 $end = $cylend * $un / $mega; 348 pb_log(1,"n $l $part $cylstart $cylend => mkpart primary $start $end\n");349 pb_log(1,"n $l $part $cylstart $cylend => mkpart primary ext2 $start $end\n"); 349 350 pb_system("$parted -s $device mkpart primary ext2 $start $end\n") if ($fake == 0); 350 351 print "command (m for help) sent back to fake fdisk for mondorestore\n"; … … 358 359 pb_log(1,"d $part => rm $part\n"); 359 360 pb_system("$parted -s $device rm $part\n") if ($fake == 0); 360 get_parted($device,undef,\%start,\%end ,undef);361 get_parted($device,undef,\%start,\%end); 361 362 print "command (m for help) sent back to fake fdisk for mondorestore\n"; 362 363 } elsif ($i =~ /^w$/) { … … 517 518 my $mstart; 518 519 my $mend; 520 my $mboot; 519 521 my $length; 520 522 my $pid; 521 523 my $cmt; 524 # Device Boot Start End Blocks Id System 525 #/dev/hda1 1 77579 39099374+ ee EFI GPT 522 526 format FLOG1 = 523 @<<<<<<<<< <<<@>>>>>>>>>> @>>>>>>>>>> @>>>>>>>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<524 $part, 527 @<<<<<<<<< @> @>>>>>>>>>> @>>>>>>>>>> @>>>>>>>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<< 528 $part, $mboot, $mstart, $mend, $length, $pid, $cmt 525 529 . 526 530 format FLOG2 = 527 531 @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 528 532 $part, 529 530 533 @> @>>>>>>>>>> @>>>>>>>>>> @>>>>>>>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<< 534 $mboot, $mstart, $mend, $length, $pid, $cmt 531 535 . 532 536 format STDOUT1 = 533 @<<<<<<<<< <<<@>>>>>>>>>> @>>>>>>>>>> @>>>>>>>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<534 $part, 537 @<<<<<<<<< @> @>>>>>>>>>> @>>>>>>>>>> @>>>>>>>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<< 538 $part, $mboot, $mstart, $mend, $length, $pid, $cmt 535 539 . 536 540 format STDOUT2 = 537 541 @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 538 542 $part, 539 540 543 @> @>>>>>>>>>> @>>>>>>>>>> @>>>>>>>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<< 544 $mboot, $mstart, $mend, $length, $pid, $cmt 541 545 . 542 # Device Boot Start End Blocks Id System543 #/dev/hda1 1 77579 39099374+ ee EFI GPT544 546 545 547 … … 553 555 554 556 # This will return MB 555 get_parted($device,$start,$end,\%type );556 557 while (($n,$d) = each%type) {557 get_parted($device,$start,$end,\%type,\%boot); 558 559 foreach $n (sort keys %type) { 558 560 # Print infos fdisk like 559 561 $part = ${device}.$n; … … 570 572 # length is in 1K blocks 571 573 $length = sprintf("%d",($mend-$mstart+1)*$un/1024); 574 pb_log(2,"type $type{$n}\n"); 572 575 $pid = $pid{$type{$n}}; 573 576 $cmt = $cmt{$type{$n}}; 574 pb_log(2,"$part - $mstart - $mend - $length\n"); 577 $mboot = $boot{$n}; 578 pb_log(2,"$part - $mboot - $mstart - $mend - $length\n"); 575 579 576 580 if ($verbose == 1) { … … 677 681 my $end = shift; 678 682 my $type = shift; 683 my $boot = shift; 679 684 my $void; 680 685 my $d; … … 767 772 $$end{$n} = $ret; 768 773 $$type{$n} =~ s/\(..*\)$//; 769 pb_log(2,"$n $$start{$n} $$end{$n} $$type{$n}\n"); 774 $$type{$n} = "lvm" if (($$type{$n} eq "") && ($flag =~ /lvm/)); 775 $$boot{$n} = ""; 776 $$boot{$n} = "*" if ($flag =~ /boot/); 777 pb_log(2,"$n $$boot{$n} $$start{$n} $$end{$n} $$type{$n}\n"); 770 778 } 771 779 } else { … … 816 824 817 825 pb_log(2,"decode_Bsuf input: $size / $unit "); 818 if ($size =~ /K[B]*$/i) { 819 $size =~ s/K[B]*$//i; 826 # Suppress all B mention, including single B 827 if ($size =~ /B$/i) { 828 $size =~ s/B$//i; 829 } 830 if ($size =~ /K$/i) { 831 $size =~ s/K$//i; 820 832 $size *= $kilo; 821 } elsif ($size =~ /M [B]*$/i) {822 $size =~ s/M [B]*$//i;833 } elsif ($size =~ /M$/i) { 834 $size =~ s/M$//i; 823 835 $size *= $kilo*$kilo; 824 } elsif ($size =~ /G [B]*$/i) {825 $size =~ s/G [B]*$//i;836 } elsif ($size =~ /G$/i) { 837 $size =~ s/G$//i; 826 838 $size *= $kilo*$kilo*$kilo; 827 } elsif ($size =~ /T [B]*$/i) {828 $size =~ s/T [B]*$//i;839 } elsif ($size =~ /T$/i) { 840 $size =~ s/T$//i; 829 841 $size *= $kilo*$kilo*$kilo*$kilo; 830 842 } else {
Note:
See TracChangeset
for help on using the changeset viewer.