- Timestamp:
- Apr 18, 2015, 7:15:32 PM (9 years ago)
- Location:
- branches/3.2
- Files:
-
- 10 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mindi/README.ia64
r3136 r3371 3 3 Linux distributions on ia64 uses a different file table format than on i386, called GPT instead of MBR. The fdisk command used by mindi/mondo to determine all aspects related to the disc hasn't been adapted yet to handle GPT. Only the parted command is able to do it. 4 4 5 So a perl script called parted2fdisk.pl was written that will take as input all the order that mindi/mondo pass to fdisk, translate them to be given to parted and print the result in fdisk format. So this is a filter allowing fdisk replacement. It's only used on ia64. On other archs,parted2fdisk is a link to fdisk.5 So a perl script called mr_parted2fdisk was written that will take as input all the order that mindi/mondo pass to fdisk, translate them to be given to parted and print the result in fdisk format. So this is a filter allowing fdisk replacement. It's only used on ia64. On other archs, mr_parted2fdisk is a link to fdisk. 6 6 7 Thus mindi/mondorestore commands launched by root will pass all their call to parted2fdisk on ia64 instead of the real fdisk, and be able to support the GPT format. It will call fdisk and parted for its work. (Note again that on ia32 parte2fdisk is in fact a link to fdisk to avoid any compatibility issue)7 Thus mindi/mondorestore commands launched by root will pass all their call to mr_parted2fdisk on ia64 instead of the real fdisk, and be able to support the GPT format. It will call fdisk and parted for its work. (Note again that on ia32 parte2fdisk is in fact a link to fdisk to avoid any compatibility issue) 8 8 9 9 The install.sh script will setup everything correctly for you. 10 10 11 Note that parted2fdisk.plsupports currently only the -l and -s options as well as the commands p,n,d,w,t,a,q11 Note that mr_parted2fdisk supports currently only the -l and -s options as well as the commands p,n,d,w,t,a,q 12 12 13 13 On Itanium systems you won't generally find an installed isolinux.bin file which is required by mindi to create the bootable images. You'll generally have to take an i386 package for your distribution and install it on your itanium system so that you provide the required missing file. … … 18 18 Bruno. 19 19 20 2015-03-21 tool renamed to mr_parted2fdisk 20 21 2013-06-08 no binary made anymore, only perl scripts 21 22 2005-12-12 parted2fdisk used everywhere -
branches/3.2/mindi/install.sh
r3361 r3371 95 95 96 96 # Manage perl script man pages 97 for s in mindi-bkphw mindi-get-perl-modules parted2fdisk.pl; do97 for s in mindi-bkphw mindi-get-perl-modules mr_parted2fdisk; do 98 98 install -m 755 $s $SBINDIR 99 99 pod2man -c "$s a MondoRescue tool" --section=8 --release="$VERSTR" $SBINDIR/$s > $s.8 … … 104 104 EOF 105 105 done 106 (cd $MANDIR ; if [ ! -f parted2fdisk.9 ]; then ln -s parted2fdisk.pl.8 parted2fdisk.9; fi)107 106 108 107 if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then … … 110 109 fi 111 110 112 # Managing parted2fdisk113 (cd $SBINDIR && ln -sf parted2fdisk.pl parted2fdisk && install -m 755 parted2fdisk.pl $locallib/mindi/rootfs/usr/sbin/parted2fdisk)111 # Managing mr_parted2fdisk 112 (cd $SBINDIR && install -m 755 mr_parted2fdisk $locallib/mindi/rootfs/usr/sbin/mr_parted2fdisk) 114 113 115 114 if [ "$PKGBUILDMINDI" != "true" ]; then 116 115 chown -R root:root $locallib/mindi $conf # $DOCDIR 117 chown root:root $SBINDIR/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $SBINDIR/ parted2fdisk.pl116 chown root:root $SBINDIR/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $SBINDIR/mr_parted2fdisk 118 117 fi 119 118 -
branches/3.2/mindi/mindi
r3368 r3371 100 100 \n0eF107-Main | Boot Parameters 0eF207-1/2 | 0eF307-2/2 | 0eF407-PXE\n\ 101 101 " 102 FDISK=$MINDI_SBIN/ parted2fdisk102 FDISK=$MINDI_SBIN/mr_parted2fdisk 103 103 104 104 # Using a config file allow to overwrite some values -
branches/3.2/mindi/mr_parted2fdisk
r3370 r3371 3 3 # $Id$ 4 4 # 5 # parted2fdisk: fdisk like interface for parted5 # mr_parted2fdisk: fdisk like interface for parted 6 6 # [developed for mindi/mondo http://www.mondorescue.org] 7 7 # … … 27 27 =head1 NAME 28 28 29 parted2fdisk is a fdisk like command using parted internally for analysing GPT labelled disks29 mr_parted2fdisk is a fdisk like command using parted internally for analysing GPT labelled disks 30 30 31 31 =head1 DESCRIPTION 32 32 33 parted2fdisk behaves like the fdisk command, but dialog internally with parted in order to manipulate partition tables, which allow it to support GPT partition format as well as MBR, contrary to fdisk. It aims at providing compatible external interface with fdisk. Developed initialy for ia64 Linux, it is also useful now on x86 systems using GPT partition format (for large HDDs).33 mr_parted2fdisk behaves like the fdisk command, but dialog internally with parted in order to manipulate partition tables, which allow it to support GPT partition format as well as MBR, contrary to fdisk. It aims at providing compatible external interface with fdisk. Developed initialy for ia64 Linux, it is also useful now on x86 systems using GPT partition format (for large HDDs). 34 34 35 35 =head1 SYNOPSIS 36 36 37 parted2fdisk -s partition38 39 parted2fdisk -l [device]40 41 parted2fdisk [-n] device37 mr_parted2fdisk -s partition 38 39 mr_parted2fdisk -l [device] 40 41 mr_parted2fdisk [-n] device 42 42 43 43 =head1 OPTIONS … … 102 102 103 103 # Log 104 my $flog = "/var/log/ parted2fdisk.log";104 my $flog = "/var/log/mr_parted2fdisk.log"; 105 105 open(FLOG, "> $flog") || die "Unable to open $flog"; 106 106 … … 133 133 my $device; 134 134 my $endmax = ""; 135 my $appname = " parted2fdisk";135 my $appname = "mr_parted2fdisk"; 136 136 my ($mrver,$mrrev) = mr_version_init(); 137 137 -
branches/3.2/mondo-doc/mondoarchive.8
r3322 r3371 399 399 .IR ARCH 400 400 This variable is passed to the environment by mondoarchive so that 401 parted2fdisk.pl isaware of the underlying hardware architecture.401 other tools are aware of the underlying hardware architecture. 402 402 403 403 .IR MONDO_SHARE -
branches/3.2/mondo/src/common/libmondo-devices.c
r3352 r3371 324 324 #if __FreeBSD__ 325 325 return 326 !system 327 ("for drive in /dev/ad? /dev/da?; do fdisk $drive | grep -q FreeBSD && exit 0; done; false"); 326 !system("for drive in /dev/ad? /dev/da?; do fdisk $drive | grep -q FreeBSD && exit 0; done; false"); 328 327 #else 329 328 return 330 !system 331 ("parted2fdisk -l 2>/dev/null | grep '^/dev/' | grep -Eqv '(MS|DOS|FAT|NTFS)'"); 329 !system("mr_parted2fdisk -l 2>/dev/null | grep '^/dev/' | grep -Eqv '(MS|DOS|EFI|FAT|NTFS)'"); 332 330 #endif 333 331 } … … 366 364 #endif 367 365 368 mr_asprintf(program, " parted2fdisk -l %s 2> /dev/null", drive);366 mr_asprintf(program, "mr_parted2fdisk -l %s 2> /dev/null", drive); 369 367 fin = popen(program, "r"); 370 368 if (!fin) { … … 1731 1729 * Either way, it's an error. 1732 1730 ********/ 1733 mr_asprintf(command, " parted2fdisk -l %s 2>/dev/null|grep -E \"^/dev/\"|awk '{printf(\"%%s \", $1)}END{print \"\"}'", dsf);1731 mr_asprintf(command, "mr_parted2fdisk -l %s 2>/dev/null|grep -E \"^/dev/\"|awk '{printf(\"%%s \", $1)}END{print \"\"}'", dsf); 1734 1732 log_msg(5, "Executing: %s", command); 1735 1733 mr_asprintf(partition_list, "%s", call_program_and_get_last_line_of_output(command)); … … 1797 1795 log_msg(4, "Processing partition: %s", partitions[i]); 1798 1796 /* See if it's swap. If it is, ignore it. */ 1799 mr_asprintf(command, " parted2fdisk -l %s 2>/dev/null | awk '{if(($1==\"%s\")&&(toupper($0) ~ \"SWAP\")){print $1;exit}}'", ndsf, partitions[i]);1797 mr_asprintf(command, "mr_parted2fdisk -l %s 2>/dev/null | awk '{if(($1==\"%s\")&&(toupper($0) ~ \"SWAP\")){print $1;exit}}'", ndsf, partitions[i]); 1800 1798 log_msg(5, " Running: %s", command); 1801 1799 mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command)); … … 2663 2661 mr_free(tmp); 2664 2662 // NTFS 2665 strcpy(tmp1, call_program_and_get_last_line_of_output(" parted2fdisk -l 2>/dev/null | grep -i ntfs | awk '{ print $1};' | tr -s '\\n' ' ' | awk '{ print $0};'"));2663 strcpy(tmp1, call_program_and_get_last_line_of_output("mr_parted2fdisk -l 2>/dev/null | grep -i ntfs | awk '{ print $1};' | tr -s '\\n' ' ' | awk '{ print $0};'")); 2666 2664 if (strlen(tmp1) > 2) { 2667 2665 if (!popup_and_get_string("NTFS partitions", "Please enter/confirm the NTFS partitions you wish to backup as well.", tmp1, MAX_STR_LEN / 4)) { … … 3081 3079 assert(which_device != NULL); 3082 3080 3083 mr_asprintf(list_drives_cmd, " parted2fdisk -l 2>/dev/null | grep \"/dev/.*:\" | tr -s ':' ' ' | tr -s ' ' '\n' | grep /dev/; echo %s", where_is_root_mounted());3081 mr_asprintf(list_drives_cmd, "mr_parted2fdisk -l 2>/dev/null | grep \"/dev/.*:\" | tr -s ':' ' ' | tr -s ' ' '\n' | grep /dev/; echo %s", where_is_root_mounted()); 3084 3082 log_it("list_drives_cmd = %s", list_drives_cmd); 3085 3083 … … 3123 3121 } else { 3124 3122 // We need to look on each partition then 3125 mr_asprintf(list_drives_cmd, " parted2fdisk -l 2>/dev/null | grep -E \"^/dev/\" | tr -s ':' ' ' | tr -s ' ' '\n' | grep /dev/");3123 mr_asprintf(list_drives_cmd, "mr_parted2fdisk -l 2>/dev/null | grep -E \"^/dev/\" | tr -s ':' ' ' | tr -s ' ' '\n' | grep /dev/"); 3126 3124 log_it("list_drives_cmd = %s", list_drives_cmd); 3127 3125 … … 3271 3269 struct stat buf; 3272 3270 #endif 3273 mr_asprintf(command, " parted2fdisk -l %s 2>/dev/null | grep 'EFI GPT'", drive);3271 mr_asprintf(command, "mr_parted2fdisk -l %s 2>/dev/null | grep 'EFI GPT'", drive); 3274 3272 mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command)); 3275 3273 mr_free(command); -
branches/3.2/mondo/src/common/libmondo-tools.c
r3318 r3371 992 992 mr_free(tmp); 993 993 994 if (!run_program_and_log_output(" parted2fdisk -l 2>/dev/null | grep -i raid", 1) && !does_file_exist("/etc/raidtab")) {994 if (!run_program_and_log_output("mr_parted2fdisk -l 2>/dev/null | grep -i raid", 1) && !does_file_exist("/etc/raidtab")) { 995 995 log_to_screen("You have RAID partitions but no /etc/raidtab - creating one from /proc/mdstat"); 996 996 create_raidtab_from_mdstat(MDSTAT_FILE,"/etc/raidtab"); -
branches/3.2/mondo/src/mondorestore/mondo-prep.c
r3330 r3371 1347 1347 #else 1348 1348 make_hole_for_file(FDISK_LOG); 1349 mr_asprintf(tmp, " parted2fdisk %s >> %s 2>> %s", drivename, FDISK_LOG, FDISK_LOG);1349 mr_asprintf(tmp, "mr_parted2fdisk %s >> %s 2>> %s", drivename, FDISK_LOG, FDISK_LOG); 1350 1350 pout_to_fdisk = popen(tmp, "w"); 1351 1351 if (!pout_to_fdisk) { 1352 log_to_screen("Cannot call parted2fdisk to configure %s", drivename);1352 log_to_screen("Cannot call mr_parted2fdisk to configure %s", drivename); 1353 1353 mr_free(tmp); 1354 1354 return (1); … … 1587 1587 1588 1588 1589 mr_asprintf(program, " parted2fdisk %s >> %s 2>> %s", drive, MONDO_LOGFILE, MONDO_LOGFILE);1589 mr_asprintf(program, "mr_parted2fdisk %s >> %s 2>> %s", drive, MONDO_LOGFILE, MONDO_LOGFILE); 1590 1590 1591 1591 /* BERLIOS: should not be called each time */ … … 1906 1906 } else { 1907 1907 mr_asprintf(output, "t\n%d\n%s\nw\n", partno, partcode); 1908 mr_asprintf(command, " parted2fdisk %s >> %s 2>> %s", drive, MONDO_LOGFILE, MONDO_LOGFILE);1908 mr_asprintf(command, "mr_parted2fdisk %s >> %s 2>> %s", drive, MONDO_LOGFILE, MONDO_LOGFILE); 1909 1909 log_msg(5, "output = '%s'", output); 1910 1910 log_msg(5, "partno=%d; partcode=%s", partno, partcode); -
branches/3.2/mondo/src/restore-scripts/mondo/format-and-kludge-vfat
r3318 r3371 28 28 device=$1 29 29 drive=$2 30 ftype=` parted2fdisk -l $drive 2>/dev/null | grep $device | tr '*' ' ' | tr -s '\t' ' ' | cut -d' ' -f5`30 ftype=`mr_parted2fdisk -l $drive 2>/dev/null | grep $device | tr '*' ' ' | tr -s '\t' ' ' | cut -d' ' -f5` 31 31 case $ftype in 32 32 # "b" | "c") -
branches/3.2/mondo/src/restore-scripts/mondo/grub-MR
r3318 r3371 169 169 line=`grep $base /proc/mdstat | head -n1` 170 170 echo "mbrdev was $mbrdev" 2>&1 | tee -a $LOGFILE 171 mbrdev=` parted2fdisk -l 2>/dev/null | grep /dev/ | head -n1 | tr ':' ' ' | cut -d' ' -f2`171 mbrdev=`mr_parted2fdisk -l 2>/dev/null | grep /dev/ | head -n1 | tr ':' ' ' | cut -d' ' -f2` 172 172 echo "mbrdev is $mbrdev" 2>&1 | tee -a $LOGFILE 173 173 partno="0"; # cheating - FIXME -
branches/3.2/mondo/src/restore-scripts/mondo/make-me-bootable
r3318 r3371 17 17 dummy="$3" 18 18 19 activepart=` parted2fdisk -l $drivetouse 2>/dev/null | tr -s '\t' ' ' | grep "$drivetouse" | grep '*' | cut -d' ' -f1`19 activepart=`mr_parted2fdisk -l $drivetouse 2>/dev/null | tr -s '\t' ' ' | grep "$drivetouse" | grep '*' | cut -d' ' -f1` 20 20 21 21 for i in `cat $1 | tr -s '\t' ' ' | cut -d' ' -f1 | grep -vE "/dev/fd|none|#"` ; do … … 66 66 echo "Would activate $partno on $drive" >> $LOGFILE 67 67 else 68 echo -en "${cmd}a\n$partno\np\nw\n" | parted2fdisk $drive >> $LOGFILE 2>> $LOGFILE68 echo -en "${cmd}a\n$partno\np\nw\n" | mr_parted2fdisk $drive >> $LOGFILE 2>> $LOGFILE 69 69 fi 70 70 fi
Note:
See TracChangeset
for help on using the changeset viewer.