Changeset 1087 in MondoRescue for branches/stable/mindi/mindi
- Timestamp:
- Feb 2, 2007, 11:31:00 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi/mindi
r1082 r1087 48 48 49 49 MINDI_CONFIG="$MINDI_CONF/mindi.conf" 50 if [ ! -f $MINDI_CONFIG ] ; then50 if [ ! -f $MINDI_CONFIG ] && [ "$1" != "--printvar" ]; then 51 51 echo "No $MINDI_CONFIG file found using sensible values from $MINDI_CONFIG_DIST" 52 52 else 53 echo "Using $MINDI_CONFIG as additional config file to $MINDI_CONFIG_DIST" 53 if [ "$1" != "--printvar" ]; then 54 echo "Using $MINDI_CONFIG as additional config file to $MINDI_CONFIG_DIST" 55 fi 54 56 . $MINDI_CONFIG 55 57 fi … … 87 89 PROMPT_MAKE_CD_IMAGE="$mindi_write_cd" 88 90 PROMPT_MAKE_USB_IMAGE="$mindi_write_usb" 91 PROMPT_MAKE_TAPE_IMAGE="$mindi_write_tape" 89 92 USE_OWN_KERNEL="$mindi_use_own_kernel" 90 CACHE_LOC="$mindi_images_dir"93 MINDI_CACHE="$mindi_cache_dir" 91 94 FORCE_DUAL_FLOPPIES="$mindi_dual_floppies" 92 95 TMPDIR="$mindi_tmp_dir" 93 96 FDDEVICE="$mindi_fd_device" 97 USBDEVICE="$mindi_usb_device" 98 TAPEDEV="$mindi_tape_device" 94 99 ADDITIONAL_BOOT_PARAMS="$mindi_boot_params" 95 100 MY_FSTAB="$mindi_etc_fstab" … … 107 112 BOOT_MEDIA_MESSAGE="$mindi_boot_msg" 108 113 FDISK=$MINDI_SBIN/parted2fdisk 109 110 # Now we can create what we nedd111 114 MINDI_TMP=`mktemp -d $TMPDIR/mindi.XXXXXXXXXX` 112 mkdir -p $MINDI_TMP 113 114 # Purge from potential old run 115 rm -rf $CACHE_LOC/* 2> /dev/null 116 mkdir -p $CACHE_LOC 115 117 116 # ---------------------------------------------------------------------------- 118 117 … … 143 142 Aborted() { 144 143 trap SIGHUP SIGTERM SIGTRAP SIGINT 145 [ "$ CACHE_LOC" != "" ] && rm -f $CACHE_LOC/mindi*img $CACHE_LOC/*gz $CACHE_LOC/mindi.iso144 [ "$MINDI_CACHE" != "" ] && rm -f $MINDI_CACHE/mindi*img $MINDI_CACHE/*gz $MINDI_CACHE/mindi.iso 146 145 [ "$minidir_root" != "" ] && rm -Rf $minidir_root/* 147 146 Die "User abort." 148 }149 150 151 AddFileToCfgIfExists() {152 [ -e "$1" ] && echo -en "$2 `cat $1`\n" >> $3153 147 } 154 148 … … 415 409 if [ "$?" -ne "0" ] ; then 416 410 umount $mountpoint 411 rmdir $mountpoint 417 412 Die "Tarball $tarball is too big for disk! (CODI)\nAdjust mindi_max_compressed_size in your $MINDI_CONFIG" 418 413 fi … … 522 517 echo -en "Adding the following keyboard mapping tables: " 523 518 mkdir -p $bigdir/tmp 524 echo " /etc/console/boottime.kmap.gz" > $bigdir/tmp/KEYMAP-LIVES-HERE519 echo "keymap-lives-here /etc/console/boottime.kmap.gz" > $MINDI_TMP/mondo-restore.cfg 525 520 KBDEPTH=0 526 521 mkdir -p $bigdir/etc/console … … 573 568 echo -en "Adding the following keyboard mapping tables: " 574 569 mkdir -p $bigdir/tmp 575 echo " $mappath" > $bigdir/tmp/KEYMAP-LIVES-HERE570 echo "keymap-lives-here $mappath" > $MINDI_TMP/mondo-restore.cfg 576 571 KBDEPTH=0 577 572 AddKeyboardMappingFile $mappath … … 787 782 Die "Odd." 788 783 fi 789 cp -f $MINDI_TMP/BOOTLOADER.* $bigdir 2> /dev/null || LogIt "\nMondo v1.2x defaults to LILO as the bootloader, BTW."790 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then791 LogIt "Incorporating NFS-related settings"792 for r in NFS-* ISO-PREFIX ; do793 cp -f $MINDI_TMP/$r $bigdir/tmp 2>> $LOGFILE || Die "Cannot copy $r - did you run out of disk space?"794 echo "Copying $r to ramdisk" >> $LOGFILE795 done796 fi797 784 fi 798 785 tr ' ' '\n' < $outfile.pre | tr -s '/' '/' | grep -Fvx "" | sort -u | grep -Ev "/libX11|/libXext|/libXi|/libgtk|/libgdk" > $outfile … … 1005 992 1006 993 1007 # Called by TurnTgzIntoRdz, to make /tmp/mondo-restore.cfg1008 MakeMondoConfigFile() {1009 local outfile use_lzo use_comp use_star1010 outfile=$11011 > $outfile1012 [ "$TAPESIZE" ] && echo "media-size $TAPESIZE" >> $outfile1013 [ "$TAPEDEV" ] && echo "media-dev $TAPEDEV" >> $outfile1014 [ "$FILES_IN_FILELIST" ] && echo "files-in-filelist $FILES_IN_FILELIST" >> $outfile1015 [ "$LAST_FILELIST_NUMBER" ] && echo "last-filelist-number $LAST_FILELIST_NUMBER" >> $outfile1016 [ "$INTERNAL_TAPE_BLOCK_SIZE" ] && echo "internal-tape-block-size $INTERNAL_TAPE_BLOCK_SIZE" >> $outfile1017 use_lzo=$USE_LZO; [ "$use_lzo" = "" ] && use_lzo="no"1018 use_gzip=$USE_GZIP; [ "$use_gzip" = "" ] && use_gzip="no"1019 use_comp=$USE_COMP; [ "$use_comp" = "" ] && use_comp="yes"1020 use_star=$USE_STAR; [ "$use_star" = "" ] && use_star="no"1021 echo "use-lzo $use_lzo" >> $outfile1022 echo "use-gzip $use_gzip" >> $outfile1023 echo "use-star $use_star" >> $outfile1024 echo "use-comp $use_comp" >> $outfile1025 echo "datestamp `date`" >> $outfile1026 [ "$ESTIMATED_TOTAL_NOOF_SLICES" ] && echo "total-slices $ESTIMATED_TOTAL_NOOF_SLICES" >> $outfile1027 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-IPADDR nfs-client-ipaddr $outfile1028 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-NETMASK nfs-client-netmask $outfile1029 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-BROADCAST nfs-client-broadcast $outfile1030 AddFileToCfgIfExists $MINDI_TMP/NFS-CLIENT-DEFGW nfs-client-defgw $outfile1031 AddFileToCfgIfExists $MINDI_TMP/NFS-SERVER-MOUNT nfs-server-mount $outfile1032 AddFileToCfgIfExists $MINDI_TMP/NFS-SERVER-PATH nfs-server-path $outfile1033 AddFileToCfgIfExists $MINDI_TMP/NFS-DEV nfs-dev $outfile1034 AddFileToCfgIfExists $MINDI_TMP/NFS-SERVER-IPADDR nfs-server-ipaddr $outfile1035 AddFileToCfgIfExists $MINDI_TMP/ISO-DEV iso-dev $outfile1036 AddFileToCfgIfExists $MINDI_TMP/ISO-MNT iso-mnt $outfile1037 AddFileToCfgIfExists $MINDI_TMP/ISO-PREFIX iso-prefix $outfile1038 AddFileToCfgIfExists $MINDI_TMP/ISODIR isodir $outfile1039 AddFileToCfgIfExists $MINDI_TMP/BOOTLOADER.DEVICE bootloader.device $outfile1040 AddFileToCfgIfExists $MINDI_TMP/BOOTLOADER.NAME bootloader.name $outfile1041 AddFileToCfgIfExists $MINDI_TMP/KEYMAP-LIVES-HERE keymap-lives-here $outfile1042 AddFileToCfgIfExists $MINDI_TMP/TAPEDEV-HAS-DATA-DISKS tapedev-has-data-disks $outfile1043 AddFileToCfgIfExists $MINDI_TMP/BACKUP-MEDIA-TYPE backup-media-type $outfile1044 AddFileToCfgIfExists $MINDI_TMP/DIFFERENTIAL differential $outfile1045 AddFileToCfgIfExists $MINDI_TMP/ACL acl $outfile1046 AddFileToCfgIfExists $MINDI_TMP/XATTR xattr $outfile1047 }1048 1049 1050 994 MakeModuleLoadingScript() { 1051 995 local module fname params modpath kver outerloop i modpaths kver searchpath list_to_echo j … … 1132 1076 [ -e "$MY_FSTAB" ] || Die "Cannot find your fstab file ($MY_FSTAB)" 1133 1077 1134 rm -f $mountlist 1135 mkdir -p $mountlist 1136 rm -Rf $mountlist 1078 [ "$mountlist" != "" ] && rm -Rf $mountlist 1137 1079 > $mountlist 1138 1080 echo -en "\rHang on...\r" … … 1446 1388 rm -f $1.tmp 1447 1389 if [ "$CDRECOVERY" != "yes" ] ; then 1448 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then1390 if [ "$NFS_DEV" != "" ] ; then 1449 1391 echo -en "Press <enter> to continue.\n" >> $1 1450 1392 elif [ ! "$MINDI_TMP" ] ; then … … 1530 1472 [ "$i" != "y" ] && [ "$i" != "Y" ] && return 0 1531 1473 fi 1532 if [ ! "$MINDI_TMP" ] ; then 1533 LogIt "NB: Mindi's bootable CD always uses isolinux or elilo." 1534 LogIt "For a bootable CD w/LILO, please use Mondo." 1474 if [ _"$MINDI_TMP" = _"" ]; then 1475 Die "MINDI_TMP undefined" 1535 1476 fi 1536 1477 rm -Rf $MINDI_TMP/iso … … 1563 1504 cd $MINDI_TMP/iso/isolinux 1564 1505 cat $iso_cfg_file | HackSyslinuxFile $ramdisk_size $MINDI_TMP/iso > isolinux.cfg || Die "Cannot copy isolinux.cfg to $MINDI_TMP/iso/isolinux - did you run out of disk space?" 1565 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then1506 if [ "$NFS_DEV" != "" ] ; then 1566 1507 perl -pi -e 's/interactive/iso/' isolinux.cfg 1567 1508 fi … … 1576 1517 cp -f $MONDO_SHARE/autorun . 2>> $LOGFILE 1577 1518 fi 1578 mkisofs -U -J -r -o $ CACHE_LOC/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> $MINDI_TMP/mkisofs.log1579 else 1580 mkisofs -J -r -o $ CACHE_LOC/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> $MINDI_TMP/mkisofs.log1519 mkisofs -U -J -r -o $MINDI_CACHE/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> $MINDI_TMP/mkisofs.log 1520 else 1521 mkisofs -J -r -o $MINDI_CACHE/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> $MINDI_TMP/mkisofs.log 1581 1522 fi 1582 1523 if [ "$?" -ne "0" ] ; then … … 1587 1528 LogIt "Failed to create ISO image." 1588 1529 else 1589 echo "Created bootable ISO image at $ CACHE_LOC/mindi.iso" >> $LOGFILE1530 echo "Created bootable ISO image at $MINDI_CACHE/mindi.iso" >> $LOGFILE 1590 1531 fi 1591 1532 rm -f $MINDI_TMP/mkisofs.log … … 1598 1539 if [ "$PROMPT_MAKE_USB_IMAGE" = "yes" ] && [ _"$MONDO_SHARE" = _"" ]; then 1599 1540 echo "Shall I make a bootable USB image ?" 1600 echo -en "WARNING: This will erase all content on $USBDEV (y/[n]) "1541 echo -en "WARNING: This will erase all content on $USBDEVICE (y/[n]) " 1601 1542 read i 1602 1543 [ "$i" != "y" ] && [ "$i" != "Y" ] && return 0 1603 1544 fi 1545 if [ _"$MINDI_TMP" = _"" ]; then 1546 Die "MINDI_TMP undefined" 1547 fi 1604 1548 rm -Rf $MINDI_TMP/usb 1605 1549 mkdir -p $MINDI_TMP/usb 1606 USBPART="${USBDEV }1"1607 1608 echo -en "Transforming $USBDEV in a Bootable device "1550 USBPART="${USBDEVICE}1" 1551 1552 echo -en "Transforming $USBDEVICE in a Bootable device " 1609 1553 echo -en "." 1610 echo "Transforming $USBDEV in a Bootable device" >> $LOGFILE1611 echo "Checking $USBDEV " >> $LOGFILE1612 $FDISK -l $USBDEV 2>&1 >> $LOGFILE1554 echo "Transforming $USBDEVICE in a Bootable device" >> $LOGFILE 1555 echo "Checking $USBDEVICE" >> $LOGFILE 1556 $FDISK -l $USBDEVICE 2>&1 >> $LOGFILE 1613 1557 if [ $? -ne 0 ]; then 1614 echo "Unable to access $USBDEV " | tee -a $LOGFILE1558 echo "Unable to access $USBDEVICE" | tee -a $LOGFILE 1615 1559 echo "Make sure your USB device is pluged in" | tee -a $LOGFILE 1616 1560 MindiExit -1 1617 1561 fi 1618 1562 echo -en "." 1619 echo "Erasing $USBDEV " >> $LOGFILE1620 $FDISK $USBDEV 2>&1 >> $LOGFILE << EOF1563 echo "Erasing $USBDEVICE" >> $LOGFILE 1564 $FDISK $USBDEVICE 2>&1 >> $LOGFILE << EOF 1621 1565 d 1622 1566 d … … 1635 1579 EOF 1636 1580 if [ $? -ne 0 ]; then 1637 echo "Unable to create a vfat Filesystem on $USBDEV " | tee -a $LOGFILE1581 echo "Unable to create a vfat Filesystem on $USBDEVICE" | tee -a $LOGFILE 1638 1582 echo "Make sure your USB device is pluged in" | tee -a $LOGFILE 1639 $FDISK -l $USBDEV 2>&1 | tee -a $LOGFILE1583 $FDISK -l $USBDEVICE 2>&1 | tee -a $LOGFILE 1640 1584 MindiExit -1 1641 1585 fi … … 1646 1590 echo "Unable to create a vfat filesystem on $USBPART" | tee -a $LOGFILE 1647 1591 echo "Make sure your USB device is pluged in and partitioned ($USBPART must exist on it)" | tee -a $LOGFILE 1648 $FDISK -l $USBDEV 2>&1 | tee -a $LOGFILE1592 $FDISK -l $USBDEVICE 2>&1 | tee -a $LOGFILE 1649 1593 MindiExit -1 1650 1594 fi … … 1655 1599 echo "Unable to mount $USBPART on $MINDI_TMP/usb" | tee -a $LOGFILE 1656 1600 echo "Make sure your USB device is pluged in, partitioned and formated ($USBPART must exist on it)" | tee -a $LOGFILE 1657 $FDISK -l $USBDEV 2>&1 | tee -a $LOGFILE1601 $FDISK -l $USBDEVICE 2>&1 | tee -a $LOGFILE 1658 1602 MindiExit -1 1659 1603 fi … … 1693 1637 cat $sys_cfg_file | HackSyslinuxFile $ramdisk_size $MINDI_TMP/usb > syslinux.cfg || Die "Cannot copy syslinux.cfg from mindi_home to $MINDI_TMP/usb - did you run out of disk space?" 1694 1638 echo -en "." 1695 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then1639 if [ "$NFS_DEV" != "" ] ; then 1696 1640 perl -pi -e 's/interactive/iso/' syslinux.cfg 1697 1641 fi … … 1717 1661 else 1718 1662 echo -e "$DONE" 1719 echo "Created bootable USB image on $USBDEV " >> $LOGFILE1663 echo "Created bootable USB image on $USBDEVICE" >> $LOGFILE 1720 1664 fi 1721 1665 rm -f $MINDI_TMP/syslinux.log 1666 # 1667 # If mondoarchive, then tranfer $MINDI_CACHE content to the USB device 1668 # and mount that device under that mountpoint instead 1669 # Has to be done at the end here. 1670 # 1671 if [ _"$MONDO_SHARE" != _"" ]; then 1672 mount $USBPART $MINDI_TMP/usb 2>> $LOGFILE 1673 mv $MINDI_CACHE/* $MINDI_TMP/usb 1674 umount $MINDI_TMP/usb 1675 mount $USBPART $MINDI_CACHE 1676 fi 1722 1677 } 1723 1678 … … 1739 1694 if [ _"$MONDO_SHARE" != _"" ]; then 1740 1695 if [ "$CDRECOVERY" != "yes" ] ; then 1741 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then1696 if [ "$NFS_DEV" != "" ] ; then 1742 1697 echo -en "Press <enter> to continue.\n" 1743 1698 elif [ ! "$MINDI_TMP" ] ; then … … 1834 1789 echo -en "default=RESTORE\n" 1835 1790 elif [ "$disksize" -gt "2880" ] && [ _"$MONDO_SHARE" != _"" ]; then 1836 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then1791 if [ "$NFS_DEV" != "" ] ; then 1837 1792 echo -en "default=iso\n" 1838 1793 else … … 1855 1810 elif [ "$disksize" -gt "2880" ] ; then 1856 1811 if [ _"$MONDO_SHARE" != _"" ]; then 1857 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then1812 if [ "$NFS_DEV" != "" ] ; then 1858 1813 options="iso" 1859 1814 else … … 1975 1930 1976 1931 # copy the kernel across 1977 rm -Rf $mountpoint/lost+found1932 [ "$mountpoint" != "" ] && rm -Rf $mountpoint/lost+found 1978 1933 dd if=/dev/zero of=$mountpoint/zero bs=1k count=16 &> /dev/null 1979 1934 free_space=`df -k -P $mountpoint | tail -n1 | tr -s ' ' '\t' | cut -f4` … … 2011 1966 if [ "$disksize" -gt "2880" ] && [ ! "$KERN_DISK_MADE" ] ; then 2012 1967 if [ "$ARCH" != "ia64" ] ; then 2013 $LILO_EXE $LILO_OPTIONS-r $mountpoint >> $LOGFILE 2>> $LOGFILE1968 $LILO_EXE -r $mountpoint >> $LOGFILE 2>> $LOGFILE 2014 1969 else 2015 1970 /bin/true … … 2096 2051 [ -e "$sys_cfg_file" ] || Die "Obi Wan, word up?" 2097 2052 cat $sys_cfg_file | HackSyslinuxFile $ramdisk_size $mountpoint > syslinux.cfg || Die "Cannot copy syslinux.cfg from mindi_home to tmp_root" 2098 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then2053 if [ "$NFS_DEV" != "" ] ; then 2099 2054 perl -pi -e 's/interactive/iso/' syslinux.cfg 2100 2055 fi … … 2115 2070 2116 2071 # copy the kernel across 2117 rm -Rf $mountpoint/lost+found2072 [ "$mountpoint" != "" ] && rm -Rf $mountpoint/lost+found 2118 2073 dd if=/dev/zero of=$mountpoint/zero bs=1k count=16 &> /dev/null 2119 2074 free_space=`df -k -P $mountpoint | tail -n1 | tr -s ' ' '\t' | cut -f4` … … 2226 2181 mkdir -p $bigdir/tmp 2227 2182 if [ _"$MONDO_SHARE" != _"" ]; then 2228 MakeMondoConfigFile $MINDI_TMP/mondo-restore.cfg 2229 cp -f $MINDI_TMP/mondo-restore.cfg $bigdir/tmp &> /dev/null 2183 cp -f $MONDO_CACHE/mondo-restore.cfg $bigdir/tmp &> /dev/null 2230 2184 fi 2231 2185 [ -d "/mnt/.boot.d" ] && echo "Oh Jebus" > $bigdir/tmp/DUMBASS-GENTOO … … 2242 2196 2243 2197 # master boot record, too 2244 i=` cat $MINDI_TMP/BOOTLOADER.DEVICE2> /dev/null`2198 i=`grep bootloader.device $MONDORESTORECFG | cut -d' ' -f2 2> /dev/null` 2245 2199 if [ "$i" ] ; then 2246 2200 LogIt "Backing up $i's MBR" … … 2437 2391 bigdir=$1 2438 2392 minidir_root=$2 2439 rm -Rf $minidir_root/*2393 [ "$minidir_root" != "" ] && rm -Rf $minidir_root/* 2440 2394 2441 2395 TryToFitDataIntoSeveralDirs $bigdir $minidir_root … … 2446 2400 fi 2447 2401 RejigHyperlinks $minidir_root $noof_disks 2448 rm -Rf $bigdir/*2402 [ "$bigdir" != "" ] && rm -Rf $bigdir/* 2449 2403 return $noof_disks 2450 2404 } … … 2624 2578 cd $old_pwd 2625 2579 echo -en "\rThe files have been subdivided into $noof_disks directories. \r" 2626 rm -Rf $minidir_root/compressed2580 [ "$minidir_root" != "" ] && rm -Rf $minidir_root/compressed 2627 2581 if [ "$retval" -gt "0" ] ; then 2628 2582 return 0 … … 2716 2670 list_of_groovy_mods="$CDROM_MODS `WhichOfTheseModulesAreLoaded "$SCSI_MODS"`" 2717 2671 fi 2718 if [ -e "$MINDI_TMP/NFS-DEV" ] ; then2672 if [ "$NFS_DEV" != "" ] ; then 2719 2673 # For PXE boot 2720 2674 list_of_groovy_mods="$list_of_groovy_mods $NET_MODS" … … 2739 2693 fi 2740 2694 cd $old_pwd 2741 [ "$ TAPEDEV" ] && echo -en "$TAPEDEV" > $mountpoint/tmp/TAPEDEV-LIVES-HERE2695 [ "$PROMPT_MAKE_TAPE_IMAGE" = "yes" ] && echo -en "$TAPEDEV" > $mountpoint/tmp/TAPEDEV-LIVES-HERE 2742 2696 dd if=/dev/zero of=$mountpoint/zero &> /dev/null 2743 2697 rm -f $mountpoint/zero 2698 mkdir -p $mountpoint/tmp 2744 2699 if [ _"$MONDO_SHARE" != _"" ]; then 2745 MakeMondoConfigFile $mountpoint/tmp/mondo-restore.cfg 2746 cp -f $mountpoint/tmp/mondo-restore.cfg $MINDI_TMP &> /dev/null 2700 cp -f $MONDO_CACHE/mondo-restore.cfg $mountpoint/tmp &> /dev/null || Die "Cannot copy mondo-restore.cfg to ramdisk" 2747 2701 cp -f $MINDI_TMP/mountlist.txt $mountpoint/tmp/ 2>/dev/null || Die "Cannot copy mountlist to ramdisk" 2748 echo -en "$FILES_IN_FILELIST" > $mountpoint/tmp/FILES-IN-FILELIST 2749 echo -en "$LAST_FILELIST_NUMBER" > $mountpoint/tmp/LAST-FILELIST-NUMBER 2750 [ "$USE_LZO" = "yes" ] && echo -en "Pras 4 Pres 2004" >> $mountpoint/tmp/USING-LZO 2751 [ "$USE_GZIP" = "yes" ] && echo -en "YES" >> $mountpoint/tmp/USING-GZIP 2752 [ "$USE_COMP" = "yes" ] && echo -en "Compression, yep" >> $mountpoint/tmp/USING-COMP 2753 [ "$USE_STAR" = "yes" ] && echo -en "Using star. Hooray." >> $mountpoint/tmp/USING-STAR 2754 fi 2755 mkdir -p $mountpoint/tmp 2702 fi 2756 2703 mkdir -p $mountpoint/proc 2757 2704 echo "$disksize" > $mountpoint/tmp/$disksize.siz … … 2759 2706 umount $mountpoint || Die "Cannot unmount $tempfile" 2760 2707 dd if=$tempfile bs=1k 2> /dev/null | gzip -v9 > $rdz_fname 2> /dev/null 2761 # gzip -9 $tempfile2762 # mv $tempfile.gz $rdz_fname2763 2708 if [ "$res" -eq "0" ] ; then 2764 2709 echo -en "..." … … 2806 2751 done 2807 2752 mkdir -p $minidir_root/all/tmp 2808 echo -en "$FILES_IN_FILELIST" > $minidir_root/all/tmp/FILES-IN-FILELIST 2> /dev/null2809 echo -en "$LAST_FILELIST_NUMBER" > $minidir_root/all/tmp/LAST-FILELIST-NUMBER 2> /dev/null2810 2753 fi 2811 2754 tar -b 4096 -cf - * 2> /dev/null | gzip -9 > $tardir/all.tar.gz … … 2813 2756 [ "`du -sm $imagesdir/all.tar.gz | cut -f1`" -ge "30" ] && Die "You have too many tools in your shed" 2814 2757 cd $old_pwd 2815 rm -Rf $minidir_root2758 [ "$minidir_root" != "" ] && rm -Rf $minidir_root 2816 2759 echo -e "$DONE" 2817 2760 } … … 2821 2764 #----------------------------------- Main -----------------------------------# 2822 2765 ############################################################################## 2766 2767 # Now we can create what we nedd 2768 mkdir -p $MINDI_TMP 2769 2770 # Purge from potential old run 2771 if [ _"$MINDI_CACHE" = _"" ]; then 2772 Die "MINDI_CACHE undefined" 2773 fi 2774 rm -rf $MINDI_CACHE 2> /dev/null 2775 mkdir -p $MINDI_CACHE 2823 2776 2824 2777 … … 2837 2790 echo "$@" >> $LOGFILE 2838 2791 echo "Start date : `date`" >> $LOGFILE 2792 echo "-----------------------------" >> $LOGFILE 2839 2793 2840 2794 if [ -e "/etc/conf.modules" ] && [ ! -e "/etc/modules.conf" ] ; then … … 2846 2800 # Log some capital variables 2847 2801 [ "$MINDI_PREFIX" = "XXX" ] && Die "Mindi has not been installed correctly." 2802 echo "MONDO_SHARE = $MONDO_SHARE" >> $LOGFILE 2848 2803 echo "MINDI_LIB = $MINDI_LIB" >> $LOGFILE 2849 2804 echo "MINDI_SBIN = $MINDI_SBIN" >> $LOGFILE 2850 2805 [ "$MINDI_CONF" = "YYY" ] && Die "Mindi has not been installed correctly." 2851 2806 echo "MINDI_CONF = $MINDI_CONF" >> $LOGFILE 2852 echo "MONDO_SHARE = $MONDO_SHARE" >> $LOGFILE 2807 if [ -f $MINDI_CONF ]; then 2808 echo "-----------------------------" >> $LOGFILE 2809 echo " Mindi configuration file " >> $LOGFILE 2810 echo "-----------------------------" >> $LOGFILE 2811 cat $MINDI_CONF >> $LOGFILE 2812 echo "-----------------------------" >> $LOGFILE 2813 fi 2814 2853 2815 2854 2816 trap AbortHere SIGTERM SIGHUP SIGQUIT SIGKILL SIGABRT SIGINT … … 2922 2884 BIGNO=0 2923 2885 MAX_COMPRESSED_SIZE="$mindi_max_compressed_size" 2886 2887 # 2888 # Kernel management: Attempt to locate kernel specific module path 2889 # if module path is found then use it other wise use uname -r to set it... 2890 # 2891 # 2924 2892 kernelpath="$mindi_kernel" 2925 2893 if [ "$kernelpath" = "NATIVE" ]; then 2926 2894 kernelpath="" 2927 2895 fi 2928 if [ "$ARCH" = "ia64" ] ; then 2929 USE_LILO=yes 2896 if [ "$kernelpath" = "" ]; then 2897 kernelpath=`TryToFindKernelPath` 2898 fi 2899 kernelname=`echo $kernelpath | cut -d'-' -f2-` 2900 LogIt "kernelname = $kernelname" 2901 LogIt "kernelpath = $kernelpath" 2902 if [ ! -d "/lib/modules/$kernelname" ] && [ "$kernelpath" != "FAILSAFE" ] 2903 then 2904 LogIt "Module path for ${kernelpath} not found..." 2905 LogIt "using running kernel\'s modules." 2906 kernelname=`uname -r` 2930 2907 else 2931 USE_LILO=no 2908 LogIt "Using modules for kernel: ${kernelname}" 2932 2909 fi 2933 2910 … … 2973 2950 if [ "$1" = "--usb" ] ; then 2974 2951 shift 2975 USBDEV =$12976 if [ _"$USBDEV " = _"" ]; then2952 USBDEVICE=$1 2953 if [ _"$USBDEVICE" = _"" ]; then 2977 2954 Die "No USB device specified" 2978 2955 fi 2979 2956 shift 2980 2957 fi 2958 fi 2959 2960 # 2961 # Default value for parameters coming from mondo potentially 2962 # 2963 if [ "$ARCH" = "ia64" ] ; then 2964 USE_LILO=yes 2965 else 2966 USE_LILO=no 2967 fi 2968 2969 # 2970 # These variables are normaly only significant in a mondo environment 2971 # Not enforced yet 2972 # 2973 CDRECOVERY="no" 2974 NOT_BOOT="no" 2975 EXCLUDE_DEVS="" 2976 IMAGE_DEVS="" 2977 NFS_DEV="" 2978 if [ _"$MONDO_SHARE" != _"" ]; then 2981 2979 fi 2982 2980 … … 3000 2998 echo "Mindi v$MINDI_VERSION" 3001 2999 MindiExit 0 3002 elif [ "$ #" -ge "9" ] && [ "$1" = "--custom" ] ; then3000 elif [ "$1" = "--custom" ] ; then 3003 3001 if [ _"$MONDO_SHARE" = _"" ]; then 3004 3002 Die "--custom is reserved for mondoarchive calls" … … 3012 3010 mkdir -p $MINDI_TMP 3013 3011 # This is the scratch dir in mondo 3014 CACHE_LOC=$3 3015 if [ _"$CACHE_LOC" != _"" ]; then 3016 mkdir -p $CACHE_LOC 3017 fi 3018 kernelpath=$4; [ "$kernelpath" = "(null)" ] && kernelpath="" 3019 ### 3020 ### Attempt to locate kernel specific module path 3021 ### if module path is found then use it other wise use uname -r to set it... 3022 ### 3023 if [ "$kernelpath" = "" ]; then 3024 kernelpath=`TryToFindKernelPath` 3025 fi 3026 kernelname=`echo $kernelpath | cut -d'-' -f2-` 3027 LogIt "kernelname = $kernelname" 3028 LogIt "kernelpath = $kernelpath" 3029 if [ ! -d "/lib/modules/$kernelname" ] && [ "$kernelpath" != "FAILSAFE" ] 3030 then 3031 LogIt "Module path for ${kernelpath} not found..." 3032 LogIt "using running kernel\'s modules." 3033 kernelname=`uname -r` 3012 MINDI_CACHE=$3 3013 if [ _"$MINDI_CACHE" != _"" ]; then 3014 mkdir -p $MINDI_CACHE 3015 fi 3016 3017 if [ ! -e "$MONDORESTORECFG" ]; then 3018 Die "MONDORESTORECFG undefined. Use an uptodate mondoarchive version" 3019 fi 3020 3021 if [ ! -e "$MONDO_CACHE" ]; then 3022 Die "MONDO_CACHE undefined. Use an uptodate mondoarchive version" 3034 3023 else 3035 LogIt "Using modules for kernel: ${kernelname}" 3036 fi 3037 TAPEDEV=$5 3038 TAPESIZE=$6 3039 FILES_IN_FILELIST=$7 3040 USE_LZO=$8 3041 CDRECOVERY=$9 3042 if [ "${10}" = "(null)" ] || [ "${10}" = "" ] ; then 3024 # 3025 # Get from mondo our additional configuration 3026 # 3027 echo "Using $MONDO_CACHE/mindi.conf as additional config file" 3028 if [ -f $MONDO_CACHE/mindi.conf ]; then 3029 . $MONDO_CACHE/mindi.conf 3030 echo "-----------------------------" >> $LOGFILE 3031 echo " Mondo configuration file " >> $LOGFILE 3032 echo "-----------------------------" >> $LOGFILE 3033 cat $MONDO_CACHE/mindi.conf >> $LOGFILE 3034 echo "-----------------------------" >> $LOGFILE 3035 else 3036 Die "No mindi.conf file created by mondo. Aborting" 3037 fi 3038 fi 3039 3040 echo "Here is your mondoresctore.cfg file:" >> $LOGFILE 3041 echo "------------------------------------" >> $LOGFILE 3042 cat $MONDORESTORECFG >> $LOGFILE 3043 echo "-----------------------------------" >> $LOGFILE 3044 3045 CDRECOVERY=`grep use-cdrecovery $MONDORESTORECFG | cut -d' ' -f2` 3046 NOT_BOOT=`grep non-bootable $MONDORESTORECFG | cut -d' ' -f2` 3047 USE_LILO=`grep use-lilo $MONDORESTORECFG | cut -d' ' -f2` 3048 EXCLUDE_DEVS=`grep excluded-devs $MONDORESTORECFG | cut -d' ' -f2` 3049 NFS_DEV=`grep nfs-dev $MONDORESTORECFG | cut -d' ' -f2` 3050 VALUE=`grep image-devs $MONDORESTORECFG | cut -d' ' -f2` 3051 if [ "$VALUE" = "(null)" ] || [ "$VALUE" = "" ] ; then 3043 3052 IMAGE_DEVS="" 3044 3053 else 3045 IMAGE_DEVS="`echo "${10}" | tr '|' ' '`" 3046 fi 3047 if [ "${11}" ] ; then 3048 LILO_OPTIONS="" 3049 # LogIt "LILO will use conservative settings, to be compatible with older BIOSes." 3050 fi 3051 LAST_FILELIST_NUMBER=${12} 3052 ESTIMATED_TOTAL_NOOF_SLICES=${13} 3053 EXCLUDE_DEVS="${14}" 3054 USE_COMP="${15}" 3055 USE_LILO="${16}" 3056 USE_STAR="${17}" 3057 INTERNAL_TAPE_BLOCK_SIZE="${18}" 3058 DIFFERENTIAL="${19}" 3059 USE_GZIP="${20}" 3060 NOT_BOOT="${21}" 3061 [ "$USE_COMP" = "" ] && USE_COMP=yes 3062 [ "$USE_GZIP" = "" ] && USE_GZIP=no 3063 [ "$NOT_BOOT" = "" ] && NOT_BOOT=no 3064 [ "$TAPEDEV" ] && LogIt "This is a tape-based backup. Fine." 3065 [ "$CDRECOVERY" = "yes" ] && [ "$TAPEDEV" != "" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time" 3066 MONDO_ROOT=`echo $CACHE_LOC | sed 's/\(.*\)\/.*/\1/'` 3054 IMAGE_DEVS="`echo "$VALUE" | tr '|' ' '`" 3055 fi 3056 [ "$CDRECOVERY" = "yes" ] && [ "$PROMPT_MAKE_TAPE_IMAGE" = "yes" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time" 3057 MONDO_ROOT=`echo $MINDI_CACHE | sed 's/\(.*\)\/.*/\1/'` 3067 3058 if [ _"$MONDO_ROOT" != _"" ]; then 3068 3059 mkdir -p $MONDO_ROOT … … 3108 3099 KERN_DISK_MADE="" 3109 3100 3110 echo "DIFFERENTIAL = $DIFFERENTIAL" >> $LOGFILE 3111 echo "INTERNAL TAPE BLOCK SIZE = $INTERNAL_TAPE_BLOCK_SIZE" >> $LOGFILE 3112 echo "NOT_BOOT = '$NOT_BOOT'" >> $LOGFILE 3113 if [ "$NOT_BOOT" != "" ] && [ "$NOT_BOOT" != "0" ] && [ "$NOT_BOOT" != "no" ] ; then 3114 LogIt "Just creating mondo-restore.cfg and a small all.tar.gz for Mondo. Nothing else." 3115 MakeMondoConfigFile $MINDI_TMP/mondo-restore.cfg 3116 MakeMountlist $MINDI_TMP/mountlist.txt 3101 if [ "$NOT_BOOT" = "yes" ]; then 3102 LogIt "Just creating a small all.tar.gz for Mondo. Nothing else." 3117 3103 mkdir -p $MINDI_TMP/small-all/tmp 3104 MakeMountlist $MINDI_TMP/small-all/tmp/mountlist.txt 3105 cp -f $MINDI_TMP/{filelist.full.gz,biggielist.txt} $MONDO_CACHE/mondo-restore.cfg $MINDI_CACHE/small-all/tmp 2>/dev/null || Die "Cannot copy small all.tar.gz" 3118 3106 cd $MINDI_TMP/small-all 3119 cp -f $MINDI_TMP/{mountlist.txt,mondo-restore.cfg,filelist.full.gz,biggielist.txt} tmp 2>/dev/null || Die "Cannot copy small all.tar.gz" 3120 tar -cv tmp | gzip -9 > $MINDI_TMP/all.tar.gz || Die "Cannot make small all.tar.gz" 3121 sleep 2 3107 tar -cv tmp | gzip -9 > $MINDI_CACHE/all.tar.gz || Die "Cannot make small all.tar.gz" 3108 sync 3122 3109 LogIt "Done. Exiting." 3123 3110 MindiExit 0 3124 3111 fi 3125 3112 3126 if [ _"$USBDEV" != _"" ]; then3127 LogIt "Including the generation of a Bootable USB device on $USBDEV "3113 if [ "$PROMPT_MAKE_USB_IMAGE" = "yes" ]; then 3114 LogIt "Including the generation of a Bootable USB device on $USBDEVICE" 3128 3115 fi 3129 3116 if [ "$kernelpath" = "" ] ; then … … 3184 3171 YOUR_KERNEL_SUCKS="Your kernel sucks" 3185 3172 fi 3186 echo -e "Mindi's temp dir = $MINDI_TMP \nMindi's output dir=$ CACHE_LOC" >> $LOGFILE3173 echo -e "Mindi's temp dir = $MINDI_TMP \nMindi's output dir=$MINDI_CACHE" >> $LOGFILE 3187 3174 [ "$(($RANDOM%64))" -eq "0" ] && LogIt "Dude, I've looked inside your computer and it's really dusty..." 3188 3175 3189 3176 [ "$YOUR_KERNEL_SUCKS" ] && [ ! "$FAILSAFE_KVER" ] && Die "Please install mindi-kernel package. You need it.\nGo to http://www.mondorescue.org and download it, then install it." 3190 3177 3191 rm -f $ CACHE_LOC/{*img,*gz,*iso}3192 3193 PrepareDataDiskImages $ CACHE_LOC3178 rm -f $MINDI_CACHE/{*img,*gz,*iso} 3179 3180 PrepareDataDiskImages $MINDI_CACHE 3194 3181 noof_disks=$? 3195 3182 ramdisk_size=$(($size_of_all_tools+$EXTRA_SPACE)) … … 3200 3187 if [ "$USE_LILO" = "yes" ] ; then 3201 3188 if [ "$ARCH" = "ia64" ] ; then 3202 PrepareBootDiskImage_LILO $ CACHE_LOC$IA64_BOOT_SIZE $kernelpath $ramdisk_size || Die "Failed to create ia64 floppy disk image."3203 else 3204 if ! PrepareBootDiskImage_LILO $ CACHE_LOC1722 $kernelpath $ramdisk_size ; then3189 PrepareBootDiskImage_LILO $MINDI_CACHE $IA64_BOOT_SIZE $kernelpath $ramdisk_size || Die "Failed to create ia64 floppy disk image." 3190 else 3191 if ! PrepareBootDiskImage_LILO $MINDI_CACHE 1722 $kernelpath $ramdisk_size ; then 3205 3192 LogIt "WARNING - failed to create 1.72MB boot image." 3206 3193 LogIt "Please reduce your kernel's size if you want to make a 1.72MB floppy disk." 3207 3194 fi 3208 if ! PrepareBootDiskImage_LILO $ CACHE_LOC2880 $kernelpath $ramdisk_size ; then3195 if ! PrepareBootDiskImage_LILO $MINDI_CACHE 2880 $kernelpath $ramdisk_size ; then 3209 3196 LogIt "WARNING - failed to create 2.88MB floppy disk image." 3210 3197 LogIt "Please reduce your kernel's size if you want to make a 2.88MB floppy disk." 3211 PrepareBootDiskImage_LILO $ CACHE_LOC5760 $kernelpath $ramdisk_size || Die "Failed to create 2.88MB floppy disk image."3198 PrepareBootDiskImage_LILO $MINDI_CACHE 5760 $kernelpath $ramdisk_size || Die "Failed to create 2.88MB floppy disk image." 3212 3199 fi 3213 3200 fi 3214 3201 else 3215 if ! PrepareBootDiskImage_SYSLINUX $ CACHE_LOC1722 $kernelpath $ramdisk_size ; then3202 if ! PrepareBootDiskImage_SYSLINUX $MINDI_CACHE 1722 $kernelpath $ramdisk_size ; then 3216 3203 LogIt "WARNING - failed to create 1.72MB boot image." 3217 3204 LogIt "Please reduce your kernel's size if you want to make a 1.72MB floppy disk." 3218 if ! PrepareBootDiskImage_SYSLINUX $ CACHE_LOC2880 $kernelpath $ramdisk_size ; then3205 if ! PrepareBootDiskImage_SYSLINUX $MINDI_CACHE 2880 $kernelpath $ramdisk_size ; then 3219 3206 LogIt "WARNING - failed to create 2.88MB floppy disk image." 3220 3207 LogIt "Please reduce your kernel's size if you want to make a 2.88MB floppy disk." 3221 PrepareBootDiskImage_SYSLINUX $ CACHE_LOC5760 $kernelpath $ramdisk_size || Die "Failed to create 5.76MB floppy disk image."3208 PrepareBootDiskImage_SYSLINUX $MINDI_CACHE 5760 $kernelpath $ramdisk_size || Die "Failed to create 5.76MB floppy disk image." 3222 3209 fi 3223 3210 fi … … 3228 3215 3229 3216 if [ _"$MONDO_SHARE" = _"" ]; then 3230 ListImagesForUser $ CACHE_LOC3217 ListImagesForUser $MINDI_CACHE 3231 3218 boot_dev=/dev/fd0u1722 3232 3219 [ ! -e "$boot_dev" ] && mknod $boot_dev b 2 60 … … 3234 3221 [ ! -e "$boot_dev" ] && Die "Will you PLEASE tell your distribution maker to create the 1.72MB devices in /dev?" 3235 3222 if [ "$PROMPT_WRITE_BOOT_FLOPPIES" = "yes" ]; then 3236 OfferToCopyImagesToDisks $ CACHE_LOC$boot_dev $FDDEVICE3237 fi 3238 OfferToMakeBootableISO $ CACHE_LOC3239 if [ _"$USBDEV" != _"" ]; then3240 OfferToMakeBootableUSB $ CACHE_LOC3223 OfferToCopyImagesToDisks $MINDI_CACHE $boot_dev $FDDEVICE 3224 fi 3225 OfferToMakeBootableISO $MINDI_CACHE 3226 if [ "$PROMPT_MAKE_USB_IMAGE" = "yes" ]; then 3227 OfferToMakeBootableUSB $MINDI_CACHE 3241 3228 fi 3242 3229 LogIt "Finished." 3243 elif [ "$ TAPEDEV" ] ; then3244 rm -f $ CACHE_LOC/{*img,*gz,*iso}3245 OfferToMakeBootableISO $ CACHE_LOC3246 if [ -e "$ CACHE_LOC/all.tar.gz" ] ; then3247 cp -f $ CACHE_LOC/all.tar.gz $MINDI_TMP/ 2>> $LOGFILE3230 elif [ "$PROMPT_MAKE_TAPE_IMAGE" = "yes" ] ; then 3231 rm -f $MINDI_CACHE/{*img,*gz,*iso} 3232 OfferToMakeBootableISO $MINDI_CACHE 3233 if [ -e "$MINDI_CACHE/all.tar.gz" ] ; then 3234 cp -f $MINDI_CACHE/all.tar.gz $MINDI_TMP/ 2>> $LOGFILE 3248 3235 else 3249 3236 Die "Cannot find all.tar.gz, to be written to tape" 3250 3237 fi 3251 elif [ _"$USBDEV" != _"" ]; then3252 OfferToMakeBootableUSB $ CACHE_LOC3238 elif [ "$PROMPT_MAKE_USB_IMAGE" = "yes" ]; then 3239 OfferToMakeBootableUSB $MINDI_CACHE 3253 3240 else 3254 OfferToMakeBootableISO $ CACHE_LOC3241 OfferToMakeBootableISO $MINDI_CACHE 3255 3242 fi 3256 3243 # cleanup
Note:
See TracChangeset
for help on using the changeset viewer.