Changeset 197 in MondoRescue for trunk/mindi


Ignore:
Timestamp:
Dec 14, 2005, 12:12:15 AM (18 years ago)
Author:
bcornec
Message:

merge -r193:196 $SVN_M/branches/2.05

Location:
trunk/mindi
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/mindi/CHANGES

    r158 r197  
    99- USB keyboard support (Bruno Cornec)
    1010- -p should now work with ISO/PXE/NFS modes (Bruno Cornec)
     11- relocate what was under /usr/share to /usr/lib (FHS compliance)
     12  (Bruno Cornec/Andree Leidenfrost)
     13- manage non ambiguous delivery under /usr (packages) or /usr/local (tar ball)
     14  (Bruno Cornec)
     15- use parted2fdisk everywhere (Bruno Cornec)
    1116
    12171.05 (2005-11-19)
  • trunk/mindi/README.ia64

    r194 r197  
    33Linux 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.
    44
    5 So I've written a perl script called parted2fdisk.pl 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.
     5So 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.
    66
    7 To use it on the system to backup, please do the following as root:
    8 
    9 mv /sbin/fdisk /usr/local/bin/fdisk
    10 ln -sf /sbin/parted2fdisk.pl /sbin/fdisk
    11 Verify that /usr/local/bin is in your path or add it.
    12 
    13 The mindi.rpm package will do that automatically for you.
    14 
    15 Thus mindi/mondo launched by root will smoothly pass all their call to parted2fdisk.pl instead of the real fdisk, and be able to support the GPT format.
    16 The existing fdisk command on your system needs to remain accessible in your path as parted2fdisk.pl uses it.
     7Thus mindi/mondo launched by root will pass all their call to parted2fdisk instead of the real fdisk, and be able to support the GPT format. It will call fdisk and parted for its work.
    178
    189To get it on the system to restore, please do the following as root:
     
    2213mv rootfs/sbin/parted2fdisk-ia64 rootfs/sbin/parted2fdisk
    2314
    24 This will produce a binary version that will be used by mondorestore during the restoration process on ia64 to handle the GPT format. (Note that on ia32 parte2fdisk is in fact a link to fdisk to avoid any compatibility issue)
    25 So in the restoration environment on ia64, /sbin/fdisk is in fact the result of the compilation of parted2fdisk, and the real ia64 fdisk is placed under /usr/local/bin (result of the previous setup on the machine to backup)
     15This will produce a binary version that will be used by mondorestore during the restoration process on ia64 to handle the GPT format. (Note again that on ia32 parte2fdisk is in fact a link to fdisk to avoid any compatibility issue)
    2616
    27 Again the mindi.rpm package will do that automatically for you.
     17The install.sh script will setup everything correctly for you.
    2818
    2919Note that parted2fdisk.pl supports currently only the -l and -s options as well as the commands p,n,d,w,t,a,q
    3020
    31 Please report any problem around that tool to bruno.cornec@hp.com
     21Please report any problem around that tool to bcornec@users.berlios.de
    3222Bruno.
    3323
     242005-12-12 parted2fdisk used everywhere
    34252005-03-23 Explain compilation and backup/restore split
    35262004-09-16 Initial file
  • trunk/mindi/aux-tools/sbin/calc-disk-size

    r30 r197  
    66CalcDiskSize() {
    77    local res cylinders sectorsize disksize i curr stub out
    8     res=`fdisk -l $1 2> /dev/null | grep -i "cylinders of"`
     8    res=`parted2fdisk -l $1 2> /dev/null | grep -i "cylinders of"`
    99    cylinders=`echo "$res" | cut -d' ' -f5`
    1010    sectorsize=`echo "$res" | cut -d' ' -f7`
    11     cylindermod=`fdisk -l $1 2> /dev/null | grep -i $1:`; # note colon at end to make sure it's not the /dev/sda# partition info
     11    cylindermod=`parted2fdisk -l $1 2> /dev/null | grep -i $1:`; # note colon at end to make sure it's not the /dev/sda# partition info
    1212    cylnum=`echo "$cylindermod" | cut -d' ' -f7`
    1313    predisksize=$(($cylinders*$sectorsize/1024))
  • trunk/mindi/aux-tools/sbin/format-and-kludge-vfat

    r86 r197  
    2828    device=$1
    2929    drive=$2
    30     ftype=`fdisk -l $drive | grep $device | tr '*' ' ' | tr -s '\t' ' ' | cut -d' ' -f5`
     30    ftype=`parted2fdisk -l $drive | grep $device | tr '*' ' ' | tr -s '\t' ' ' | cut -d' ' -f5`
    3131    case $ftype in
    3232#   "b" | "c")
  • trunk/mindi/deplist.txt

    r30 r197  
    4545ping devfsd burnBX burnK6 burnK7 burnMMX burnP5 burnP6 lucifer tiobench tiotest bonnie++ mprime ide-smart
    4646
    47 # For ia64
    48 /usr/local/bin/fdisk
    49 
    5047# ------------------------------- for X (Hugo) --------------------------------
    5148#tar
  • trunk/mindi/install.sh

    r186 r197  
    7171
    7272if [ "$ARCH" = "i386" ] ; then
     73    (cd $local/sbin && ln -s fdisk parted2fdisk)
    7374    if [ -f $local/lib/mindi/rootfs/bin/busybox-$ARCH.net ]; then
    7475        echo "Installing busybox.net ..."
     
    8081
    8182if [ "$ARCH" = "ia64" ] ; then
     83    (cd $local/sbin && ln -s parted2fdisk.pl parted2fdisk)
    8284    make -f Makefile.parted2fdisk DEST=$local/lib/mindi install
    8385    if [ -f $local/lib/mindi/rootfs/sbin/parted2fdisk-$ARCH ]; then
  • trunk/mindi/mindi

    r181 r197  
    132132    which afio > /dev/null 2> /dev/null || LogIt "afio not found... mindi doesn't need afio but Mondo does... Be aware...\n"
    133133    [ ! -e "/etc/issue.net" ] && > /etc/issue.net
    134     FDISK=$MINDI_SBIN/parted2fdisk.pl
     134    FDISK=$MINDI_SBIN/parted2fdisk
    135135    FDISKLOG=/tmp/parted2fdisk.log
    136136    touch $FDISKLOG
     
    12071207   AddFileToCfgIfExists $MONDO_TMP/NFS-CLIENT-IPADDR nfs-client-ipaddr $outfile
    12081208   AddFileToCfgIfExists $MONDO_TMP/NFS-CLIENT-NETMASK nfs-client-netmask $outfile
     1209   AddFileToCfgIfExists $MONDO_TMP/NFS-CLIENT-BROADCAST nfs-client-broadcast $outfile
    12091210   AddFileToCfgIfExists $MONDO_TMP/NFS-CLIENT-DEFGW  nfs-client-defgw  $outfile
    12101211   AddFileToCfgIfExists $MONDO_TMP/NFS-SERVER-MOUNT  nfs-server-mount  $outfile
     
    13271328    all_partitions=""
    13281329   
    1329 # Workaround until fdisk2parted.pl is fixed
    1330     [ "$ARCH" != "ia64" ] && FDISK=`which fdisk`
    1331 # End workaround - Hugo, 06/20/2004
    1332 
    13331330    if [ -d "/proc/lvm" ] || [ -d "/dev/mapper" ]; then
    13341331    echo -en "\rAnalyzing LVM...\r"
  • trunk/mindi/mindi.spec

    r190 r197  
    7878    echo "WARNING: /usr/local/sbin/mindi exists. You should probably remove your manual mindi installation !"
    7979fi
    80 
    81 %ifarch ia64
    82     %{__mkdir_p} /usr/local/bin
    83     if [ "`file /sbin/fdisk |grep 'LF 64-bit LSB executable'`" ] ; then
    84         %{__cp} /sbin/fdisk /sbin/fdisk.mondosav
    85         %{__mv} /sbin/fdisk /usr/local/bin/fdisk
    86         %{__ln_s} -f /usr/sbin/parted2fdisk.pl /sbin/fdisk
    87         echo "Warning: you fdisk binary is now under /usr/local/bin"
    88     fi
    89 %endif
    9080
    9181%files
  • trunk/mindi/parted2fdisk.pl

    r91 r197  
    306306my $cmd = shift;
    307307my $basename = basename($cmd);
    308 my $mindifdisk="/usr/local/bin/fdisk";
    309 
    310 if ($cmd =~ /fdisk/) {
    311     if ($arch =~ /^ia64/) {
    312         if (-l $cmd) {
    313             print FLOG "Your system is ready for mondo-archive on ia64\n";
    314         } else {
    315             print FLOG "Your system is ready for mondo-restore on ia64\n";
    316         }
    317         if (-x $mindifdisk) {
    318             $cmd = $mindifdisk;
    319         } else {
    320             print FLOG "Your system doesn't provide $mindifdisk\n";
    321             print FLOG "Please use mindi-x.yz-ia64.rpm on the system to backup\n";
    322             myexit(-1);
    323         }
    324     }
    325 }
     308
    326309if (not (-x $cmd)) {
    327310    print FLOG "Your system is not LSB/mondo compliant: $basename was not found as $cmd\n";
  • trunk/mindi/rootfs/sbin/init

    r181 r197  
    678678    cp -af /dev/md2 /dev/md/2 2> /dev/null
    679679fi
    680 # As described in the README.ia64 we replaced on the native system
    681 # /sbin/fdisk by parted2fdisk.pl now we need the reverse for mindi's
    682 # boot environment
    683680export ARCH=`/bin/arch`
    684 if [ "$ARCH" = "ia64" ] ; then
    685     rm -f /sbin/fdisk
    686     ln /sbin/parted2fdisk /sbin/fdisk
    687 fi
    688681WelcomeMessage
    689682# SpaceTests; # Mandrake Linux 8.1 doesn't like this
Note: See TracChangeset for help on using the changeset viewer.