Changeset 538 in MondoRescue
- Timestamp:
- May 13, 2006, 6:39:55 PM (19 years ago)
- Location:
- branches/stable
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/contrib/backup-kungfu/backup-kungfu
r354 r538 68 68 function remove_garbage { 69 69 echo -e "Removing the files left from previous mondoarchive run...\n" 70 rm -rf / root/images70 rm -rf /var/cache/mondo 71 71 rm -rf ${backup_dir}/mondo* 72 72 rm -rf ${backup_dir}/tmp* … … 107 107 echo -e "Creating the new backup directory and moving the files there...\n" 108 108 mkdir -p ${backup_dir}/${comp_name}_${date}/images 109 cp / root/images/mindi/* ${backup_dir}/${comp_name}_${date}/images/109 cp /var/cache/mindi/* ${backup_dir}/${comp_name}_${date}/images/ 110 110 111 111 # If you want just move the iso files without renaming them just uncomment the next line -
branches/stable/mindi/distributions/conf/mindi.conf
r473 r538 64 64 #mindi_kernel="/boot/vmlinuz.special" 65 65 66 # TBC 67 # 66 68 # 67 69 # Additinal modules to support … … 70 72 mindi_additional_modules="" 71 73 74 # TBC 75 # 72 76 # 73 77 # Boot loader to use -
branches/stable/mindi/mindi
r526 r538 79 79 # TBC 80 80 if [ "$mindi_images_dir" == "" ]; then 81 CACHE _LOC="/var/cache/mindi"81 CACHEDIR="/var/cache/mindi" 82 82 else 83 CACHE _LOC="$mindi_images_dir"83 CACHEDIR="$mindi_images_dir" 84 84 fi 85 85 if [ "$mindi_dual_floppies" == "" ]; then … … 219 219 Aborted() { 220 220 trap SIGHUP SIGTERM SIGTRAP SIGINT 221 [ "$imagesdir" != "" ] && rm -f $imagesdir/mindi*img $imagesdir/*gz $imagesdir/mindi.iso221 rm -f $CACHEDIR/mindi*img $CACHEDIR/*gz $CACHEDIR/mindi.iso 222 222 [ "$minidir_root" != "" ] && rm -Rf $minidir_root/* 223 223 Die "User abort." … … 510 510 if [ "$?" -ne "0" ] ; then 511 511 umount $mountpoint 512 Die "Tarball $tarball is too big for disk! (CODI)\nTell Hugoto adjust MAX_COMPRESSED_SIZE"512 Die "Tarball $tarball is too big for disk! (CODI)\nTell dev team to adjust MAX_COMPRESSED_SIZE" 513 513 fi 514 514 [ "$diskno" -eq "$noof_disks" ] && echo "This is the last disk ($diskno=$noof_disks)" >> $mountpoint/LAST-DISK … … 684 684 echo "MINDI_CONF = $MINDI_CONF" >> $LOGFILE 685 685 echo "MONDO_SHARE = $MONDO_SHARE" >> $LOGFILE 686 mkdir -p $CACHE _LOC686 mkdir -p $CACHEDIR 687 687 } 688 688 … … 1626 1626 1627 1627 1628 OfferToCopyImagesToDisks() {1629 local imagesdir i imagename dev count boot_dev data_dev1630 imagesdir=$11631 boot_dev=$21632 data_dev=$31633 echo -en "Would you like to create boot+data floppy disks now (y/n) ?"1634 read i1635 [ "$i" != "y" ] && [ "$i" != "Y" ] && return1636 mount | fgrep /dev/fd > /dev/null && Die "Please unmount your floppies first."1637 echo "WARNING! THIS WILL ERASE YOUR FLOPPY DISKS."1638 [ ! -e "$boot_dev" ] && Die "Cannot find $boot_dev - is your Linux distro broken?"1639 [ ! -e "$data_dev" ] && Die "Cannot find $data_dev - is your Linux distro broken?"1640 i=`find $imagesdir -type f | fgrep "/mindi-root.1" 2> /dev/null`1641 j=`find $imagesdir -type f | fgrep "/mindi-boot" | egrep -v '2880|5760'`1642 # echo "i=$i"1643 # echo "j=$j"1644 if [ "$i" ] ; then1645 CopyImageToDisk $j $data_dev "boot disk"1646 CopyImageToDisk $i $data_dev "root disk"1647 else1648 CopyImageToDisk $j $boot_dev "boot/root disk"1649 fi1650 count=11651 for i in `find $imagesdir | fgrep mindi-data` ; do1652 CopyImageToDisk $i $data_dev "data disk #$count"1653 count=$(($count+1))1654 done1655 }1656 1657 1628 1658 1629 … … 1688 1659 cp $kernelpath $TMP_ROOT/iso/isolinux/vmlinuz || Die "Cannot copy vmlinuz ($kernelpath) to mondo root ($MONDO_ROOT/isolinux/vmlinuz). Did you run out of disk space?" 1689 1660 cp $TMP_ROOT/mindi.rdz $TMP_ROOT/iso/isolinux/initrd.img 1690 cp $TMP_ROOT/mindi.rdz $ imagesdir/initrd.img1661 cp $TMP_ROOT/mindi.rdz $CACHEDIR/initrd.img 1691 1662 [ -e "$iso_cfg_file" ] || Die "FIXME - unable to find $iso_cfg_file - this should never occur" 1692 1663 cd $TMP_ROOT/iso/isolinux … … 1709 1680 fi 1710 1681 if [ "$ARCH" != "ia64" ] ; then 1711 mkisofs -U -J -r -o $ imagesdir/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> /tmp/$$.mk1712 else 1713 mkisofs -J -r -o $ imagesdir/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> /tmp/$$.mk1682 mkisofs -U -J -r -o $CACHEDIR/mindi.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . > /dev/null 2> /tmp/$$.mk 1683 else 1684 mkisofs -J -r -o $CACHEDIR/mindi.iso -b images/mindi-bootroot.$IA64_BOOT_SIZE.img -c isolinux/boot.cat -no-emul-boot . > /dev/null 2> /tmp/$$.mk 1714 1685 fi 1715 1686 if [ "$?" -ne "0" ] ; then … … 1720 1691 LogIt "Failed to create ISO image.\n" 1721 1692 else 1722 echo "Created bootable ISO image at $ imagesdir/mindi.iso" >> $LOGFILE1693 echo "Created bootable ISO image at $CACHEDIR/mindi.iso" >> $LOGFILE 1723 1694 fi 1724 1695 rm -f /tmp/$$.mk … … 2174 2145 [ "$retval" -ne "0" ] && LogIt "PrepareBootDiskImage() is returning nonzero\n" 2175 2146 return $retval 2176 }2177 2178 2179 2180 2181 PrepareDataDiskImages() {2182 local needlist bigdir minidir_root tardir diskdir imagesdir res i j k old_pwd lines2183 2184 imagesdir=$12185 rm -f $imagesdir/mindi-*.img $imagesdir/[0-9]*.tar.gz $imagesdir/mindi.iso2186 needlist=$TMP_ROOT/what-we-need.txt2187 bigdir=$TMP_ROOT/bigdir2188 minidir_root=$TMP_ROOT/minidir2189 mkdir -p $minidir_root2190 mkdir -p $bigdir/usr/bin2191 tardir=$TMP_ROOT/tardir2192 2193 lines=`grep -vx " *#.*" $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | grep -vx "" | wc -l`2194 cat $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | GenerateGiantDependencyList $needlist $lines2195 res=$?2196 if [ "$YOUR_KERNEL_SUCKS" ]; then2197 pwd=`pwd`2198 cd $TMP_ROOT2199 for i in `ListKernelModulePaths | HackPathsToFailsafe` ; do2200 cp --parents -pRdf ./$i $bigdir || Die "PDDI can't cp $i->$bigdir"2201 if [ "`du -sk $i | cut -f1`" -lt "$(($CHOPSIZE*2))" ] ; then2202 cp --parents -pRdf $i $bigdir2203 else2204 ChopUpAndCopyFile $i $bigdir $CHOPSIZE $BIGNO2205 BIGNO=$(($BIGNO+1))2206 fi2207 done2208 for i in $EXTRA_MODS ; do2209 j=`find lib/modules/$FAILSAFE_KVER -name $i.*o 2> /dev/null`2210 [ ! "$j" ] && echo "Warning - cannot find failsafe module $i.o" >> $LOGFILE2211 for k in $j ; do2212 if [ "`du -sk $k | cut -f1`" -lt "$CHOPSIZE" ] ; then2213 cp --parents -pRdf $k $bigdir2214 else2215 ChopUpAndCopyFile $k $bigdir $CHOPSIZE $BIGNO2216 BIGNO=$(($BIGNO+1))2217 fi2218 echo "Added failsafe module $k to ramdisk" >> $LOGFILE2219 done2220 done2221 cd $pwd2222 else2223 ListKernelModulePaths >> $needlist2224 fi2225 if [ "$res" -ne "0" ] ; then2226 Die "You have $res file`PluralOrNot $res` present in dependency list\nbut absent from filesystem."2227 fi2228 FindAndAddUserKeyboardMappingFile2229 mkdir -p $bigdir/tmp2230 if [ "`DidMondoCallMe`" ] ; then2231 MakeMondoConfigFile $TMP_ROOT/mondo-restore.cfg2232 cp -f $TMP_ROOT/mondo-restore.cfg $bigdir/tmp &> /dev/null2233 cp -f $TMP_ROOT/mondo-restore.cfg $CACHE_LOC &> /dev/null2234 fi2235 [ -d "/mnt/.boot.d" ] && echo "Oh Jebus" > $bigdir/tmp/DUMBASS-GENTOO2236 DropOptimizedLibraries $needlist $bigdir2237 echo -en "Assembling dependency files"2238 CopyDependenciesToDirectory < $needlist $bigdir2239 2240 # also copy io.sys and msdos.sys, if we can find them2241 for i in `mount | cut -d' ' -f3` ; do2242 for j in io.sys msdos.sys ; do2243 [ -e "$i/$j" ] && cp -f $i/$j $bigdir2244 done2245 done2246 2247 # master boot record, too2248 i=`cat $MONDO_TMP/BOOTLOADER.DEVICE 2> /dev/null`2249 if [ "$i" ] ; then2250 LogIt "Backing up $i's MBR\n"2251 dd if=$i of=$bigdir/BOOTLOADER.MBR bs=446 count=1 >> $LOGFILE 2>> $LOGFILE2252 # < < E O F2253 sleep 12254 sync2255 # [ "$?" -ne "0" ] && echo "Failed to save $i's MBR to bigdir" >> $LOGFILE2256 j=$i2257 [ -h "$j" ] && j=`ResolveSoftlink $j`2258 LogIt "Creating /dev/boot_device ($j)\n"2259 mkdir -p $bigdir/dev2260 cp -pRdf $j $bigdir/dev/boot_device || Die "Unable to create /dev/boot_device on ramdisk"2261 fi2262 2263 # more stuff2264 # cp -f $MINDI_LIB/embleer* $bigdir2265 old_pwd=`pwd`2266 cd $bigdir2267 2268 [ -e "$MINDI_LIB/aux-tools" ] || Die "aux-tools not found in Mindi's home dir. Do you have multiple copies of Mindi lying around? Please delete them. No, don't e-mail me and ask how. ;) Use 'rm'."2269 cp -Rdf $MINDI_LIB/aux-tools/* . 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping aux-tools\n"2270 if [ -e "$MINDI_LIB/x11-tools.tgz" ] ; then2271 tar -zxf $MINDI_LIB/x11-tools.tgz 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping x11-tools.tgz\n"2272 fi2273 if [ -e "$MONDO_SHARE/restore-scripts" ] ; then2274 cp -Rdf $MONDO_SHARE/restore-scripts/* . 2>> $LOGFILE2275 [ "$?" -ne "0" ] && [ "`DidMondoCallMe`" ] && Die "Cannot find/install $MONDO_SHARE/restore-scripts"2276 fi2277 [ -d "/lib/dev-state" ] && cp --parents -pRdf /lib/dev-state .2278 cd $old_pwd2279 echo -e "$DONE"2280 TOTAL_BIGDIR_SIZE=`du -sk $bigdir | cut -f1`2281 SplitDirectoryIntoMinidirs $bigdir $minidir_root2282 noof_disks=$?2283 [ "$noof_disks" -eq "0" ] && Die "Too much stuff!"2284 MakeMountlist $TMP_ROOT/mountlist.txt2285 mkdir -p $minidir_root/$noof_disks/tmp2286 cp -f $TMP_ROOT/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt || Die "Cannot copy mountlist.txt from $TMP_ROOT to data disk"2287 cp -f $TMP_ROOT/mountlist.txt $CACHE_LOC2288 [ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $MONDO_TMP/.2289 [ -d "/proc/lvm" ] && $MINDI_LIB/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm2290 [ -d "/dev/mapper" ] && $MINDI_LIB/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm2291 cat $minidir_root/$noof_disks/tmp/mountlist.txt >> $LOGFILE2292 ZipMinidirsIntoTarballs $minidir_root $tardir $noof_disks2293 CreateDataDiskImagesFromTarballs $tardir $imagesdir $noof_disks2294 FRIENDLY_OUTSTRING="Boot and data disk images were created."2295 # One 1.72MB boot disk, one 2.88MB boot disk and $noof_disks data disk images2296 rmdir $tardir $bigdir2297 rm -f $needlist2298 return $noof_disks2299 2147 } 2300 2148 … … 2925 2773 while [ "$diskno" -le "$noof_disks" ] ; do 2926 2774 cd $minidir_root/$diskno || LogIt "Warning - cannot cd to $minidir_root/$diskno\n" 2927 tar -cf - . 2>> $LOGFILE | gzip -9 > $tardir/$diskno.tar.gz || Die "Can't tar/gzip disk#$diskno; please tell Hugo-exactly- what the errors where."2775 tar -cf - . 2>> $LOGFILE | gzip -9 > $tardir/$diskno.tar.gz || Die "Can't tar/gzip disk#$diskno; please tell dev team -exactly- what the errors where." 2928 2776 diskno=$(($diskno+1)) 2929 2777 echo -n "..." … … 2975 2823 if [ "$1" = "-V" ] || [ "$1" = "-v" ] || [ "$1" = "--version" ] || [ "$1" = "-version" ] ; then 2976 2824 echo "mindi v$MINDI_VERSION" 2825 exit 0 2826 fi 2827 2828 if [ "$1" = "-printvar" ] ; then 2829 shift 2830 if [ _"$1" != _"" ] ; then 2831 set | egrep "^$1" | cut -d= -f2 2832 fi 2977 2833 exit 0 2978 2834 fi … … 3026 2882 BIGNO=0 3027 2883 MAX_COMPRESSED_SIZE=1300 3028 imagesdir=/root/images/mindi 3029 mkdir -p $imagesdir 2884 imagesdir=$CACHEDIR 3030 2885 kernelpath="" 3031 2886 MONDO_ROOT=/tmp/mindilinux/mondo-root … … 3062 2917 exit $? 3063 2918 elif [ "$1" = " --version" ] || [ "$1" = "-v" ] ; then 3064 echo "Mindi v$MINDI_VERSION"2919 echo "Mindi v$MINDI_VERSION" 3065 2920 exit 0 3066 2921 elif [ "$#" -ge "9" ] && [ "$1" = "--custom" ] ; then 3067 TMP_ROOT=$23068 MONDO_TMP=$23069 imagesdir=$33070 kernelpath=$4; [ "$kernelpath" = "(null)" ] && kernelpath=""2922 TMP_ROOT=$2 2923 MONDO_TMP=$2 2924 imagesdir=$3 2925 kernelpath=$4; [ "$kernelpath" = "(null)" ] && kernelpath="" 3071 2926 ### 3072 2927 ### Sq-Modification... … … 3075 2930 ### 3076 2931 kernelname=`echo $kernelpath | cut -d'-' -f2-` 3077 LogIt "kernelname = $kernelname\n"3078 LogIt "kernelpath = $kernelpath\n"2932 LogIt "kernelname = $kernelname\n" 2933 LogIt "kernelpath = $kernelpath\n" 3079 2934 if [ ! -d "/lib/modules/$kernelname" ] && [ "$kernelpath" != "FAILSAFE" ] 3080 2935 then … … 3088 2943 ### end of Sq-Modification 3089 2944 ### 3090 TAPEDEV=$53091 TAPESIZE=$63092 FILES_IN_FILELIST=$73093 USE_LZO=$83094 CDRECOVERY=$92945 TAPEDEV=$5 2946 TAPESIZE=$6 2947 FILES_IN_FILELIST=$7 2948 USE_LZO=$8 2949 CDRECOVERY=$9 3095 2950 if [ "${10}" = "(null)" ] || [ "${10}" = "" ] ; then 3096 2951 IMAGE_DEVS="" … … 3098 2953 IMAGE_DEVS="`echo "${10}" | tr '|' ' '`" 3099 2954 fi 3100 if [ "${11}" ] ; then3101 LILO_OPTIONS=""2955 if [ "${11}" ] ; then 2956 LILO_OPTIONS="" 3102 2957 # LogIt "LILO will use conservative settings, to be compatible with older BIOSes." 3103 fi3104 LAST_FILELIST_NUMBER=${12}2958 fi 2959 LAST_FILELIST_NUMBER=${12} 3105 2960 ESTIMATED_TOTAL_NOOF_SLICES=${13} 3106 2961 EXCLUDE_DEVS="${14}" 3107 2962 USE_COMP="${15}" 3108 2963 USE_LILO="${16}" 3109 USE_STAR="${17}"3110 INTERNAL_TAPE_BLOCK_SIZE="${18}"2964 USE_STAR="${17}" 2965 INTERNAL_TAPE_BLOCK_SIZE="${18}" 3111 2966 DIFFERENTIAL="${19}" 3112 2967 NOT_BOOT="${20}" 3113 2968 [ "$USE_COMP" = "" ] && USE_COMP=yes 3114 2969 [ "$NOT_BOOT" = "" ] && NOT_BOOT=no 3115 [ "$TAPEDEV" ] && LogIt "This is a tape-based backup. Fine.\n"3116 [ "$kernelpath" = "" ] && kernelpath=`TryToFindKernelPath`2970 [ "$TAPEDEV" ] && LogIt "This is a tape-based backup. Fine.\n" 2971 [ "$kernelpath" = "" ] && kernelpath=`TryToFindKernelPath` 3117 2972 kernelname=`echo $kernelpath | cut -d'-' -f2-` 3118 2973 if [ ! -d "/lib/modules/$kernelname" ] && [ "$kernelpath" != "FAILSAFE" ] … … 3124 2979 LogIt "Using modules for kernel: ${kernelname}\n" 3125 2980 fi 3126 [ "$CDRECOVERY" = "yes" ] && [ "$TAPEDEV" != "" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time"2981 [ "$CDRECOVERY" = "yes" ] && [ "$TAPEDEV" != "" ] && Die "Sorry, you can't use --cd-recovery and --write-tapes at the same time" 3127 2982 MONDO_ROOT=`echo $imagesdir | sed 's/\(.*\)\/.*/\1/'` 3128 [ "$MONDO_ROOT" = "" ] && Die "MONDO_ROOT is undefined"3129 else 3130 echo "Syntax: mindi (--custom ....)" >> /dev/stderr3131 exit 12983 [ "$MONDO_ROOT" = "" ] && Die "MONDO_ROOT is undefined" 2984 else 2985 echo "Syntax: mindi (--custom ....)" >> /dev/stderr 2986 exit 1 3132 2987 fi 3133 2988 fi … … 3143 2998 3144 2999 3145 3146 3147 #ReplaceIndividualLine /tmp/init `grep -n "#WHOLIVESINAPINEAPPLEUNDERTHESEA#" /tmp/init | cut -d':' -f1` "$RUN_AFTER_INITIAL_BOOT_PHASE"3148 #exit 03149 3150 3151 #ListKernelModules3152 #exit 03153 3154 3155 3156 3157 3000 [ -e "$iso_cfg_file" ] || Die "Cannot find $iso_cfg_file" 3158 3001 rm -Rf $TMP_ROOT/mindilinux/* 3159 3002 TMP_ROOT=$TMP_ROOT/mindilinux/$$ 3160 3003 mkdir -p $TMP_ROOT 3161 mkdir -p $imagesdir3162 3004 if [ ! "`DidMondoCallMe`" ] ; then 3163 3005 LogIt "Mindi Linux mini-distro generator v$MINDI_VERSION\n" 3164 LogIt "Latest Mindi is available from http:// mondorescue.berlios.de\n"3006 LogIt "Latest Mindi is available from http://www.mondorescue.org\n" 3165 3007 LogIt "BusyBox sources are available from http://www.busybox.net\n" 3166 3008 LogIt "------------------------------------------------------------------------------" … … 3204 3046 fi 3205 3047 if [ "$USE_OWN_KERNEL" = "yes" ]; then 3206 YOUR_KERNEL_SUCKS=""3207 kernelpath=`TryToFindKernelPath`3208 if [ "$kernelpath" = "" ] ; then3209 echo -n "Please enter kernel path : "3210 read kernelpath3211 fi3212 else 3213 YOUR_KERNEL_SUCKS="That's why you're using mine, dude. :-)"3048 YOUR_KERNEL_SUCKS="" 3049 kernelpath=`TryToFindKernelPath` 3050 if [ "$kernelpath" = "" ] ; then 3051 echo -n "Please enter kernel path : " 3052 read kernelpath 3053 fi 3054 else 3055 YOUR_KERNEL_SUCKS="That's why you're using mine, dude. :-)" 3214 3056 fi 3215 3057 fi … … 3240 3082 [ "$YOUR_KERNEL_SUCKS" ] && [ ! "$FAILSAFE_KVER" ] && Die "Please install mindi-kernel package. You need it. Go to http://www.mondorescue.org and download it, then install it." 3241 3083 3242 rm -f /root/images/mindi/{*img,*gz,*iso} 3243 3244 PrepareDataDiskImages $imagesdir 3084 rm -f $CACHEDIR/{*img,*gz,*iso} 3085 3086 rm -f $imagesdir/mindi-*.img $imagesdir/[0-9]*.tar.gz $imagesdir/mindi.iso 3087 needlist=$TMP_ROOT/what-we-need.txt 3088 bigdir=$TMP_ROOT/bigdir 3089 minidir_root=$TMP_ROOT/minidir 3090 mkdir -p $minidir_root 3091 mkdir -p $bigdir/usr/bin 3092 tardir=$TMP_ROOT/tardir 3093 3094 lines=`grep -vx " *#.*" $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | grep -vx "" | wc -l` 3095 cat $MINDI_CONF/deplist.txt $DEPLIST_DIR/* | GenerateGiantDependencyList $needlist $lines 3096 res=$? 3097 if [ "$YOUR_KERNEL_SUCKS" ]; then 3098 pwd=`pwd` 3099 cd $TMP_ROOT 3100 for i in `ListKernelModulePaths | HackPathsToFailsafe` ; do 3101 cp --parents -pRdf ./$i $bigdir || Die "PDDI can't cp $i->$bigdir" 3102 if [ "`du -sk $i | cut -f1`" -lt "$(($CHOPSIZE*2))" ] ; then 3103 cp --parents -pRdf $i $bigdir 3104 else 3105 ChopUpAndCopyFile $i $bigdir $CHOPSIZE $BIGNO 3106 BIGNO=$(($BIGNO+1)) 3107 fi 3108 done 3109 for i in $EXTRA_MODS ; do 3110 j=`find lib/modules/$FAILSAFE_KVER -name $i.*o 2> /dev/null` 3111 [ ! "$j" ] && echo "Warning - cannot find failsafe module $i.o" >> $LOGFILE 3112 for k in $j ; do 3113 if [ "`du -sk $k | cut -f1`" -lt "$CHOPSIZE" ] ; then 3114 cp --parents -pRdf $k $bigdir 3115 else 3116 ChopUpAndCopyFile $k $bigdir $CHOPSIZE $BIGNO 3117 BIGNO=$(($BIGNO+1)) 3118 fi 3119 echo "Added failsafe module $k to ramdisk" >> $LOGFILE 3120 done 3121 done 3122 cd $pwd 3123 else 3124 ListKernelModulePaths >> $needlist 3125 fi 3126 if [ "$res" -ne "0" ] ; then 3127 Die "You have $res file`PluralOrNot $res` present in dependency list\nbut absent from filesystem." 3128 fi 3129 FindAndAddUserKeyboardMappingFile 3130 mkdir -p $bigdir/tmp 3131 if [ "`DidMondoCallMe`" ] ; then 3132 MakeMondoConfigFile $TMP_ROOT/mondo-restore.cfg 3133 cp -f $TMP_ROOT/mondo-restore.cfg $bigdir/tmp &> /dev/null 3134 cp -f $TMP_ROOT/mondo-restore.cfg $CACHEDIR &> /dev/null 3135 fi 3136 [ -d "/mnt/.boot.d" ] && echo "Oh Jebus" > $bigdir/tmp/DUMBASS-GENTOO 3137 DropOptimizedLibraries $needlist $bigdir 3138 echo -en "Assembling dependency files" 3139 CopyDependenciesToDirectory < $needlist $bigdir 3140 3141 # also copy io.sys and msdos.sys, if we can find them 3142 for i in `mount | cut -d' ' -f3` ; do 3143 for j in io.sys msdos.sys ; do 3144 [ -e "$i/$j" ] && cp -f $i/$j $bigdir 3145 done 3146 done 3147 3148 # master boot record, too 3149 i=`cat $MONDO_TMP/BOOTLOADER.DEVICE 2> /dev/null` 3150 if [ "$i" ] ; then 3151 LogIt "Backing up $i's MBR\n" 3152 dd if=$i of=$bigdir/BOOTLOADER.MBR bs=446 count=1 >> $LOGFILE 2>> $LOGFILE 3153 # < < E O F 3154 sleep 1 3155 sync 3156 # [ "$?" -ne "0" ] && echo "Failed to save $i's MBR to bigdir" >> $LOGFILE 3157 j=$i 3158 [ -h "$j" ] && j=`ResolveSoftlink $j` 3159 LogIt "Creating /dev/boot_device ($j)\n" 3160 mkdir -p $bigdir/dev 3161 cp -pRdf $j $bigdir/dev/boot_device || Die "Unable to create /dev/boot_device on ramdisk" 3162 fi 3163 3164 # more stuff 3165 # cp -f $MINDI_LIB/embleer* $bigdir 3166 old_pwd=`pwd` 3167 cd $bigdir 3168 3169 [ -e "$MINDI_LIB/aux-tools" ] || Die "aux-tools not found in Mindi's home dir. Do you have multiple copies of Mindi lying around? Please delete them. No, don't e-mail me and ask how. ;) Use 'rm'." 3170 cp -Rdf $MINDI_LIB/aux-tools/* . 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping aux-tools\n" 3171 if [ -e "$MINDI_LIB/x11-tools.tgz" ] ; then 3172 tar -zxf $MINDI_LIB/x11-tools.tgz 2>> $LOGFILE || LogIt "Warning - error occurred while unzipping x11-tools.tgz\n" 3173 fi 3174 if [ -e "$MONDO_SHARE/restore-scripts" ] ; then 3175 cp -Rdf $MONDO_SHARE/restore-scripts/* . 2>> $LOGFILE 3176 [ "$?" -ne "0" ] && [ "`DidMondoCallMe`" ] && Die "Cannot find/install $MONDO_SHARE/restore-scripts" 3177 fi 3178 [ -d "/lib/dev-state" ] && cp --parents -pRdf /lib/dev-state . 3179 cd $old_pwd 3180 echo -e "$DONE" 3181 TOTAL_BIGDIR_SIZE=`du -sk $bigdir | cut -f1` 3182 SplitDirectoryIntoMinidirs $bigdir $minidir_root 3245 3183 noof_disks=$? 3184 [ "$noof_disks" -eq "0" ] && Die "Too much stuff!" 3185 MakeMountlist $TMP_ROOT/mountlist.txt 3186 mkdir -p $minidir_root/$noof_disks/tmp 3187 cp -f $TMP_ROOT/mountlist.txt $minidir_root/$noof_disks/tmp/mountlist.txt || Die "Cannot copy mountlist.txt from $TMP_ROOT to data disk" 3188 cp -f $TMP_ROOT/mountlist.txt $CACHEDIR 3189 [ "`DidMondoCallMe`" ] && cp -f $minidir_root/$noof_disks/tmp/mountlist.txt $MONDO_TMP/. 3190 [ -d "/proc/lvm" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm 3191 [ -d "/dev/mapper" ] && $MINDI_SBIN/analyze-my-lvm > $minidir_root/$noof_disks/tmp/i-want-my-lvm 3192 cat $minidir_root/$noof_disks/tmp/mountlist.txt >> $LOGFILE 3193 ZipMinidirsIntoTarballs $minidir_root $tardir $noof_disks 3194 CreateDataDiskImagesFromTarballs $tardir $imagesdir $noof_disks 3195 FRIENDLY_OUTSTRING="Boot and data disk images were created." 3196 # One 1.72MB boot disk, one 2.88MB boot disk and $noof_disks data disk images 3197 rmdir $tardir $bigdir 3198 rm -f $needlist 3199 #return $noof_disks 3200 3246 3201 ramdisk_size=$(($size_of_all_tools+$EXTRA_SPACE)) 3247 3202 rds=$(($ramdisk_size-$((ramdisk_size%4096)))) … … 3288 3243 [ ! -e "$boot_dev" ] && mknod $boot_dev b 2 60 3289 3244 [ ! -e "$boot_dev" ] && boot_dev=/dev/fd0H1722 3290 [ ! -e "$boot_dev" ] && Die " Oh Lord, will you PLEASE tell the vendor to create the 1.72MB devices in /dev?"3245 [ ! -e "$boot_dev" ] && Die "Will you PLEASE tell your distribution maker to create the 1.72MB devices in /dev?" 3291 3246 if [ "$PROMPT_WRITE_BOOT_FLOPPIES" = "yes" ]; then 3292 OfferToCopyImagesToDisks $imagesdir $boot_dev $FDDEVICE 3247 echo -en "Would you like to create boot+data floppy disks now (y/n) ?" 3248 read i 3249 [ "$i" != "y" ] && [ "$i" != "Y" ] && return 3250 mount | fgrep /dev/fd > /dev/null && Die "Please unmount your floppies first." 3251 echo "WARNING! THIS WILL ERASE YOUR FLOPPY DISKS." 3252 [ ! -e "$boot_dev" ] && Die "Cannot find $boot_dev - is your Linux distro broken?" 3253 [ ! -e "$FDDEVICE" ] && Die "Cannot find $FDDEVICE - is your Linux distro broken?" 3254 i=`find $imagesdir -type f | fgrep "/mindi-root.1" 2> /dev/null` 3255 j=`find $imagesdir -type f | fgrep "/mindi-boot" | egrep -v '2880|5760'` 3256 if [ "$i" ] ; then 3257 CopyImageToDisk $j $FDDEVICE "boot disk" 3258 CopyImageToDisk $i $FDDEVICE "root disk" 3259 else 3260 CopyImageToDisk $j $boot_dev "boot/root disk" 3261 fi 3262 count=1 3263 for i in `find $imagesdir | fgrep mindi-data` ; do 3264 CopyImageToDisk $i $FDDEVICE "data disk #$count" 3265 count=$(($count+1)) 3266 done 3293 3267 fi 3294 3268 OfferToMakeBootableISO $imagesdir 3295 3269 LogIt "Finished.\n" 3296 3270 elif [ "$TAPEDEV" ] ; then 3297 mkdir -p /root/images/mindi 3298 rm -f /root/images/mindi/{*img,*gz,*iso} 3271 rm -f $CACHEDIR/{*img,*gz,*iso} 3299 3272 OfferToMakeBootableISO $imagesdir 3300 3273 if [ -e "$imagesdir/all.tar.gz" ] ; then … … 3305 3278 else 3306 3279 OfferToMakeBootableISO $imagesdir 3307 fi3308 if [ "$imagesdir" != "/root/images/mindi" ] ; then3309 for i in `find $imagesdir -maxdepth 1 -name "*.iso" -o -name "*.img"` ; do3310 cp -f $i /root/images/mindi || LogIt "[line 3260] Cannot copy $i to /root/images/mindi\n"3311 done3312 3280 fi 3313 3281 [ "$TMP_ROOT" != "/tmp" ] && rm -Rf $TMP_ROOT -
branches/stable/mondo/distributions/conf/mondo.conf
r532 r538 13 13 # as they will be generated by mondoarchive 14 14 # 15 iso_creation_cmd="/usr/bin/mkisofs"15 mondo_iso_creation_cmd="/usr/bin/mkisofs" 16 16 #iso_creation_cmd="/usr/bin/growisofs" 17 17 … … 20 20 # do not specify the -o, -c or the -b options, nor the directory to backup 21 21 # 22 iso_creation_options="-J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_"22 mondo_iso_creation_options="-J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_" 23 23 #iso_creation_options="-use-the-force-luke -v -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_" 24 24 … … 26 26 # ISO Burning CLI command to use 27 27 # 28 iso_burning_cmd="/usr/bin/cdrecord"28 mondo_iso_burning_cmd="/usr/bin/cdrecord" 29 29 30 30 # 31 31 # ISO Burning CLI command options 32 iso_burning_options="-eject dev=%s speed=%d fs=24m driveropts=burnfree"32 mondo_iso_burning_options="-eject dev=%s speed=%d fs=24m driveropts=burnfree" 33 33 34 34 # 35 35 # ISO Burning Speed (optional) 36 36 # 37 # iso_burning_speed=137 #mondo_iso_burning_speed=1 38 38 39 39 # … … 42 42 # Use 4380 for DVDs, 650 or 700 for CDs 43 43 # 44 m edia_size=438044 mondo_media_size=4380 45 45 46 46 # … … 49 49 # Use /dev/hdc, /dev/sr0, /dev/st0, ATAPI:0,0,0, ... 50 50 # 51 m edia_device="/dev/hdc"51 mondo_media_device="/dev/hdc" 52 52 53 53 # 54 54 # Is the CD tray manual ? (yes|no) 55 55 # 56 m anual_tray=no56 mondo_manual_tray=no 57 57 58 58 # 59 59 # Default log level 60 60 # 61 log_level=461 mondo_log_level=4 62 62 63 63 # 64 64 # default prefix for ISO names 65 65 # 66 prefix=mondorescue66 mondo_prefix=mondorescue 67 67 68 68 # 69 69 # External tape blocksize 70 70 # 71 external_tape_blocksize=13107271 mondo_external_tape_blocksize=131072 72 72 73 73 # 74 74 # Internal tape blocksize 75 75 # 76 internal_tape_blocksize=819276 mondo_internal_tape_blocksize=8192 77 77 78 78 # 79 79 # Size of the slices for biggiefiles 80 80 # 81 slice_size=409681 mondo_slice_size=4096 82 82 83 83 # 84 84 # deplist file used 85 85 # 86 deplist_file="/etc/mondorescue/deplist.txt"86 mondo_deplist_file="/etc/mondo/deplist.txt" 87 87 88 88 # 89 89 # Write boot floppies (yes|no) ? 90 90 # 91 write_boot_floppy=no91 mondo_write_boot_floppy=no 92 92 93 93 # 94 # Write mindi CD (yes|no) ?94 # Create mindi CD (yes|no) ? 95 95 # 96 write_mindi_cd=no96 mondo_create_mindi_cd=no 97 97 98 98 # 99 99 # Kernel to use (NATIVE|FAILSAFE|PATH TO THE KERNEL) 100 100 # 101 mondo rescue_kernel="NATIVE"101 mondo_kernel="NATIVE" 102 102 #mondorescue_kernel="/boot/vmlinuz.special" 103 103 104 104 # 105 # Additi nal modules to support105 # Additional modules to support 106 106 # (white space separated list of modules) 107 107 # 108 additional_modules=""108 mondo_additional_modules="" 109 109 110 110 # … … 112 112 # (GRUB|ELILO|LILO|RAW|NATIVE) 113 113 # 114 boot_loader=NATIVE114 mondo_boot_loader=NATIVE 115 115 116 116 # 117 117 # Differential backup or full (yes|no) 118 118 # 119 differential=no119 mondo_differential=no 120 120 121 121 # 122 122 # Default compression tool 123 123 # 124 compression_tool="/usr/bin/bzip2"124 mondo_compression_tool="/usr/bin/bzip2" 125 125 126 126 # 127 127 # Default compression level 128 128 # 129 compression_level=3129 mondo_compression_level=3 130 130 131 131 # … … 133 133 # (white space separated list of paths) 134 134 # 135 exclude_files=""135 mondo_exclude_files="" 136 136 137 137 # … … 139 139 # (white space separated list of paths) 140 140 # 141 include_files=""141 mondo_include_files="" 142 142 143 143 # 144 144 # Activate semi-graphical mode by default (yes|no) 145 145 # 146 text_mode=no146 mondo_text_mode=no 147 147 148 148 # … … 150 150 # (look at -H option in man page) 151 151 # 152 automatic_restore=no152 mondo_automatic_restore=no 153 153 154 154 # 155 155 # Scratch directory 156 156 # 157 scratch_dir=""157 mondo_scratch_dir="" 158 158 #scratch_dir="/tmp/mondo/scratch" 159 159 … … 161 161 # Temporary directory 162 162 # 163 tmp_dir=""163 mondo_tmp_dir="" 164 164 #tmp_dir="/tmp/mondo/tmp" 165 165 … … 167 167 # Images creation dir 168 168 # 169 images_dir="/var/cache/mondo"169 mondo_images_dir="/var/cache/mondo" -
branches/stable/mondo/mondo/common/Makefile.am
r501 r538 9 9 libmondo_a_SOURCES = libmondo-archive.c libmondo-devices.c libmondo-fifo.c \ 10 10 libmondo-filelist.c libmondo-files.c libmondo-fork.c \ 11 libmondo-mountlist.c libmondo-raid.c \11 libmondo-mountlist.c libmondo-raid.c libmondo-msg.c \ 12 12 libmondo-stream.c libmondo-string.c libmondo-tools.c \ 13 13 libmondo-verify.c newt-specific.c \ -
branches/stable/mondo/mondo/common/libmondo-archive-EXT.h
r482 r538 15 15 extern int make_slices_and_images(struct s_bkpinfo *bkpinfo, 16 16 char *biggielist_fname); 17 extern int make_iso_fs(struct s_bkpinfo *bkpinfo, char *destfile);17 extern int make_iso_fs(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *destfile); 18 18 extern int make_afioballs_and_images(struct s_bkpinfo *bkpinfo); 19 19 extern int (*move_files_to_cd) (struct s_bkpinfo *, char *, ...); -
branches/stable/mondo/mondo/common/libmondo-archive.c
r501 r538 580 580 * @ingroup archiveGroup 581 581 */ 582 int backup_data(struct s_bkpinfo *bkpinfo )582 int backup_data(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf) 583 583 { 584 584 int retval = 0, res = 0; … … 643 643 sprintf(tmp, "rm -f %s/images/*.iso", bkpinfo->scratchdir); 644 644 run_program_and_log_output(tmp, 1); 645 retval += make_those_afios_phase(bkpinfo ); // backup regular files645 retval += make_those_afios_phase(bkpinfo,mrconf); // backup regular files 646 646 retval += make_those_slices_phase(bkpinfo); // backup BIG files 647 647 retval += do_that_final_phase(bkpinfo); // clean up … … 1014 1014 if (!res) { 1015 1015 log_to_screen("Boot+data disks were created OK"); 1016 sprintf(command, "mkdir -p / root/images/mindi/");1016 sprintf(command, "mkdir -p /var/cache/mindi/"); 1017 1017 log_msg(2, command); 1018 1018 run_program_and_log_output(command, FALSE); 1019 1019 sprintf(command, 1020 "cp -f %s/images/mindi.iso / root/images/mindi/mondorescue.iso",1020 "cp -f %s/images/mindi.iso /var/cache/mindi/mondorescue.iso", 1021 1021 bkpinfo->scratchdir); 1022 1022 log_msg(2, command); … … 1252 1252 * @ingroup MLarchiveGroup 1253 1253 */ 1254 int do_that_final_phase(struct s_bkpinfo *bkpinfo )1254 int do_that_final_phase(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf) 1255 1255 { 1256 1256 … … 1273 1273 /* write final ISO */ 1274 1274 { 1275 res = write_final_iso_if_necessary(bkpinfo );1275 res = write_final_iso_if_necessary(bkpinfo, mrconf); 1276 1276 retval += res; 1277 1277 if (res) { … … 1563 1563 * @return The number of errors encountered (0 for success) 1564 1564 */ 1565 int make_afioballs_and_images(struct s_bkpinfo *bkpinfo )1565 int make_afioballs_and_images(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf) 1566 1566 { 1567 1567 … … 1707 1707 } else { 1708 1708 res = 1709 move_files_to_cd(bkpinfo, storing_filelist_fname,1709 move_files_to_cd(bkpinfo, mrconf, storing_filelist_fname, 1710 1710 curr_xattr_list_fname, 1711 1711 curr_acl_list_fname, … … 1785 1785 * @return The number of errors encountered (0 for success) 1786 1786 */ 1787 int make_iso_fs(struct s_bkpinfo *bkpinfo, char *destfile)1787 int make_iso_fs(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *destfile) 1788 1788 { 1789 1789 /*@ int ********************************************** */ … … 2005 2005 #ifdef __IA64__ 2006 2006 log_msg(1, "IA64 --> elilo"); 2007 asprintf(&tmp2,"mkisofs -no-emul-boot -b images/mindi-bootroot.%s.img -c boot.cat -o _ISO_ -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .", mrconf->ia64_boot_size); 2007 2008 res = eval_call_to_make_ISO(bkpinfo, 2008 2009 //-b images/mindi-boot.2880.img 2009 "mkisofs -no-emul-boot -b images/mindi-bootroot." 2010 IA64_BOOT_SIZE 2011 ".img -c boot.cat -o _ISO_ -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .", 2010 tmp2, 2012 2011 destfile, 2013 2012 g_current_media_number, … … 2017 2016 // FIXME --- change mkisofs string to MONDO_MKISOFS_REGULAR_SYSLINUX/LILO depending on bkpinfo->make_cd_usE_lilo 2018 2017 // and add ' .' at end 2018 paranoid_free(tmp2); 2019 2019 log_msg(1, "Non-ia64 --> lilo"); 2020 2020 res = … … 2150 2150 */ 2151 2151 int 2152 make_slices_and_images(struct s_bkpinfo *bkpinfo, char *biggielist_fname)2152 make_slices_and_images(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *biggielist_fname) 2153 2153 { 2154 2154 … … 2223 2223 } else { 2224 2224 // Call ntfsclone (formerly partimagehack) if it's a /dev entry (i.e. a partition to be imaged) 2225 log_msg(2, "bigfile_fname = %s", bigfile_fname);2225 log_msg(2, "bigfile_fname = '%s'", bigfile_fname); 2226 2226 use_ntfsprog = FALSE; 2227 2227 if (!strncmp(bigfile_fname, "/dev/", 5) … … 2269 2269 } 2270 2270 res = 2271 slice_up_file_etc(bkpinfo, bigfile_fname,2271 slice_up_file_etc(bkpinfo, mrconf, bigfile_fname, 2272 2272 ntfsprog_fifo, biggie_file_number, 2273 2273 noof_biggie_files, use_ntfsprog); … … 2321 2321 * @see make_afioballs_and_images 2322 2322 */ 2323 int make_afioballs_and_images_OLD(struct s_bkpinfo *bkpinfo )2323 int make_afioballs_and_images_OLD(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf) 2324 2324 { 2325 2325 … … 2403 2403 } else { 2404 2404 res = 2405 move_files_to_cd(bkpinfo, curr_filelist_fname,2405 move_files_to_cd(bkpinfo, mrconf, curr_filelist_fname, 2406 2406 curr_xattr_list_fname, 2407 2407 curr_acl_list_fname, curr_afioball_fname, … … 2448 2448 * @ingroup MLarchiveGroup 2449 2449 */ 2450 int make_those_afios_phase(struct s_bkpinfo *bkpinfo )2450 int make_those_afios_phase(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf) 2451 2451 { 2452 2452 /*@ int ******************************************* */ … … 2465 2465 log_msg(1, 2466 2466 "Using single-threaded make_afioballs_and_images() to suit b0rken FreeBSD 5.0"); 2467 res = make_afioballs_and_images_OLD(bkpinfo );2467 res = make_afioballs_and_images_OLD(bkpinfo, mrconf); 2468 2468 #else 2469 res = make_afioballs_and_images_OLD(bkpinfo );2469 res = make_afioballs_and_images_OLD(bkpinfo, mrconf); 2470 2470 #endif 2471 2471 write_header_block_to_stream(0, "stop-afioballs", 2472 2472 BLK_STOP_AFIOBALLS); 2473 2473 } else { 2474 res = make_afioballs_and_images(bkpinfo );2474 res = make_afioballs_and_images(bkpinfo, mrconf); 2475 2475 } 2476 2476 … … 2575 2575 * transfer files over the network) or leave it as is. 2576 2576 */ 2577 int (*move_files_to_cd) (struct s_bkpinfo *, char *, ...) =2577 int (*move_files_to_cd) (struct s_bkpinfo *, struct s_mrconf *mrconf, char *, ...) = 2578 2578 _move_files_to_cd; 2579 2579 … … 2596 2596 * @return The number of errors encountered (0 for success) 2597 2597 */ 2598 int _move_files_to_cd(struct s_bkpinfo *bkpinfo, char *files_to_add, ...)2598 int _move_files_to_cd(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *files_to_add, ...) 2599 2599 { 2600 2600 … … 2635 2635 } 2636 2636 if (would_occupy / 1024 > bkpinfo->media_size[g_current_media_number]) { 2637 res = write_iso_and_go_on(bkpinfo, FALSE); /* FALSE because this is not the last CD we'll write */2637 res = write_iso_and_go_on(bkpinfo, struct s_mrconf *mrconf, FALSE); /* FALSE because this is not the last CD we'll write */ 2638 2638 retval += res; 2639 2639 if (res) { … … 2685 2685 * @c backup_media_type field is used in this function. 2686 2686 * @param imagesdir The directory containing the floppy images (usually 2687 * / root/images/mindi).2687 * /var/cache/mindi). 2688 2688 * 2689 2689 * @return The number of errors encountered (0 for success) … … 2864 2864 if (!bkpinfo->nonbootable_backup) { 2865 2865 #ifdef __FreeBSD__ 2866 if (!does_file_exist("/ root/images/mindi/mindi-kern.1722.img"))2866 if (!does_file_exist("/var/cache/mindi/mindi-kern.1722.img")) 2867 2867 #else 2868 if (!does_file_exist("/root/images/mindi/mindi-bootroot.1722.img") 2869 && !does_file_exist("/root/images/mindi/mindi-boot.1440.img")) 2868 if (!does_file_exist("/var/cache/mindi/mindi-bootroot.1722.img") 2869 && !does_file_exist("/var/cache/mindi/mindi-boot.1440.img") 2870 && !does_file_exist("/var/cache/mindi/mindi-boot.2880.img") 2871 && !does_file_exist("/var/cache/mindi/mindi-boot.5760.img")) 2870 2872 #endif 2871 2873 { 2872 2874 mvaddstr_and_log_it(g_currentY++, 74, "No Imgs"); 2873 if (does_file_exist("/ root/images/mindi/mondorescue.iso")) {2875 if (does_file_exist("/var/cache/mindi/mondorescue.iso")) { 2874 2876 popup_and_OK 2875 ("Boot+data floppy creation failed. However, FYI, you may burn / root/images/mindi/mondorescue.iso to a CD and boot from that instead if you wish.");2877 ("Boot+data floppy creation failed. However, FYI, you may burn /var/cache/mindi/mondorescue.iso to a CD and boot from that instead if you wish."); 2876 2878 res++; 2877 2879 } 2878 2880 } else { 2879 offer_to_write_floppies(bkpinfo, "/ root/images/mindi");2881 offer_to_write_floppies(bkpinfo, "/var/cache/mindi"); 2880 2882 mvaddstr_and_log_it(g_currentY++, 74, "Done."); 2881 2883 } … … 3277 3279 */ 3278 3280 int 3279 slice_up_file_etc(struct s_bkpinfo *bkpinfo, char *biggie_filename,3281 slice_up_file_etc(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *biggie_filename, 3280 3282 char *ntfsprog_fifo, long biggie_file_number, 3281 3283 long noof_biggie_files, bool use_ntfsprog) … … 3407 3409 } else { 3408 3410 res = 3409 move_files_to_cd(bkpinfo, 3411 move_files_to_cd(bkpinfo, mrconf, 3410 3412 slice_fname(biggie_file_number, 0, 3411 3413 bkpinfo->tmpdir, ""), NULL); … … 3509 3511 res = move_files_to_stream(bkpinfo, file_to_archive, NULL); 3510 3512 } else { 3511 res = move_files_to_cd(bkpinfo, file_to_archive, NULL);3513 res = move_files_to_cd(bkpinfo, mrconf, file_to_archive, NULL); 3512 3514 } 3513 3515 retval += res; … … 3601 3603 * however, this occurs rarely. 3602 3604 */ 3603 int write_final_iso_if_necessary(struct s_bkpinfo *bkpinfo )3605 int write_final_iso_if_necessary(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf) 3604 3606 { 3605 3607 /*@ int ***************************************************** */ … … 3622 3624 } 3623 3625 #endif 3624 res = write_iso_and_go_on(bkpinfo, TRUE);3626 res = write_iso_and_go_on(bkpinfo, struct s_mrconf *mrconf, TRUE); 3625 3627 #ifndef _XWIN 3626 3628 if (!g_text_mode) { … … 3651 3653 * @see make_iso_fs 3652 3654 */ 3653 int write_iso_and_go_on(struct s_bkpinfo *bkpinfo, bool last_cd)3655 int write_iso_and_go_on(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, bool last_cd) 3654 3656 { 3655 3657 /*@ pointers **************************************************** */ … … 3727 3729 g_current_media_number); 3728 3730 for (that_one_was_ok = FALSE; !that_one_was_ok;) { 3729 res = make_iso_fs(bkpinfo, isofile);3731 res = make_iso_fs(bkpinfo, mrconf, isofile); 3730 3732 if (g_current_media_number == 1 && !res 3731 3733 && (bkpinfo->backup_media_type == cdr … … 4029 4031 setenv("MONDO_SHARE", MONDO_SHARE, 1); 4030 4032 } 4033 4034 void mrarchive_init_conf(struct s_mrconf *mrconf) { 4035 char *command = NULL; 4036 FILE *conffd = NULL; 4037 FILE *fin = NULL; 4038 int n = 0; 4039 char *param = NULL; 4040 4041 mrconf = (struct s_mrconf *)malloc(sizeof(struct s_mrconf)); 4042 if (mrconf == NULL) { 4043 fatal_error("Unable to malloc mrconf"); 4044 } 4045 /* Default for everything int : 0 char * : NULL */ 4046 4047 /* mindi conf parameters also needed in mondo */ 4048 mrconf->ia64_boot_size = 0; 4049 4050 asprintf(&command, "mindi -printvar IA64_BOOT_SIZE"); 4051 fin = popen(command, "r"); 4052 getline(¶m, &n, fin); 4053 pclose(fin); 4054 paranoid_free(command); 4055 mrconf->ia64_boot_size = atoi(param); 4056 paranoid_free(param); 4057 4058 mrconf->iso_creation_cmd = NULL; 4059 4060 /* Finds mondo conf file */ 4061 mrconf_open(MONDO_CONF_DIR"/mondo.conf"); 4062 4063 /* mondo conf parameters needed */ 4064 mrconf->iso_creation_cmd = mrconf_sread(iso_creation_cmd); 4065 4066 mrconf_close(); -
branches/stable/mondo/mondo/common/libmondo-archive.h
r482 r538 17 17 int make_slices_and_images(struct s_bkpinfo *bkpinfo, 18 18 char *biggielist_fname); 19 int make_iso_fs(struct s_bkpinfo *bkpinfo, char *destfile);19 int make_iso_fs(struct s_bkpinfo *bkpinfo, struct s_mrconf *mrconf, char *destfile); 20 20 int make_afioballs_and_images(struct s_bkpinfo *bkpinfo); 21 21 extern int (*move_files_to_cd) (struct s_bkpinfo *, char *, ...); -
branches/stable/mondo/mondo/common/libmondo-filelist.c
r501 r538 1705 1705 char *userdef_filelist) 1706 1706 { 1707 char sz_datefile_wildcard[] = "/var/cache/mondo -archive/difflevel.%d";1707 char sz_datefile_wildcard[] = "/var/cache/mondo/difflevel.%d"; 1708 1708 char *p, *q; 1709 1709 char sz_datefile[80]; … … 1774 1774 sprintf(exclude_paths, " %s %s %s %s %s %s . .. \ 1775 1775 " MNT_CDROM " " MNT_FLOPPY " /media/cdrom /media/cdrecorder \ 1776 /proc /sys / root/images/mondo /root/images/mindi", excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir);1776 /proc /sys /tmp /var/cache/mondo /var/cache/mindi", excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir); 1777 1777 1778 1778 log_msg(2, "Excluding paths = '%s'", exclude_paths); -
branches/stable/mondo/mondo/common/libmondo-tools.c
r501 r538 472 472 #endif 473 473 } 474 475 476 /**477 * Log a trace message to the trace file.478 * @bug This function seems orphaned. Please remove.479 */480 void log_trace(char *o)481 {482 /*@ pointers **************************************************** */483 FILE *fout;484 485 /*@ buffers ***************************************************** */486 char output[MAX_STR_LEN];487 488 /*@ int ****************************************************** */489 int i;490 491 /*@ end vars *************************************************** */492 493 if (o[0] == '\0') {494 return;495 }496 strcpy(output, o);497 i = (int) strlen(output);498 if (i <= 0) {499 return;500 }501 if (output[i - 1] < 32) {502 output[i - 1] = '\0';503 }504 if (g_text_mode505 /* && !strstr(last_line_of_file(MONDO_LOGFILE),output) */ ) {506 printf("%s\n", output);507 }508 509 fout = fopen(MONDO_TRACEFILE, "a");510 if (fout) {511 fprintf(fout, "%s\n", output);512 paranoid_fclose(fout);513 } else {514 log_OS_error("Cannot write to tracefile");515 }516 }517 518 519 520 474 521 475 … … 969 923 strcpy(bkpinfo->isodir, "/"); 970 924 } else { 971 strcpy(bkpinfo->isodir, "/ root/images/mondo");925 strcpy(bkpinfo->isodir, "/var/cache/mondo/iso"); 972 926 } 973 927 strcpy(bkpinfo->prefix, STD_PREFIX); … … 1076 1030 #endif 1077 1031 1078 if ((Lres = free_space_on_given_partition("/ root")) == -1){1032 if ((Lres = free_space_on_given_partition("/var/cache/mondo")) == -1) /* { 1079 1033 Lres = free_space_on_given_partition("/"); 1080 1034 } 1035 */ 1081 1036 log_it("Free space on given partition = %ld MB", Lres); 1082 1037 1083 1038 if (Lres < 50) { 1084 run_program_and_log_output 1085 ("rm -Rf /root/images/mindi; mkdir -p /home/root/images/mindi; mkdir -p /root/images; ln -sf /home/root/images/mindi /root/images/mindi", 1086 3); 1087 // fatal_error("Your / (or /root) partition has <50MB free. Please adjust your partition table to something saner."); 1039 fatal_error("Your /var/cache/mondo partition has <50MB free. Please adjust your partition table to something saner."); 1088 1040 } 1089 1041 … … 1491 1443 } 1492 1444 1493 1494 /**1495 * The standard log_debug_msg() (log_msg() also due to a macro). Writes some describing1496 * information to the logfile.1497 */1498 void standard_log_debug_msg(int debug_level, const char *szFile,1499 const char *szFunction, int nLine,1500 const char *fmt, ...)1501 {1502 va_list args;1503 int i;1504 static int depth = 0;1505 char *tmp;1506 FILE *fout;1507 1508 if (depth > 5) {1509 depth--;1510 return;1511 }1512 depth++;1513 1514 malloc_string(tmp);1515 1516 if (debug_level <= g_loglevel) {1517 va_start(args, fmt);1518 if (!(fout = fopen(MONDO_LOGFILE, "a"))) {1519 return;1520 } // fatal_error("Failed to openout to logfile - sheesh..."); }1521 1522 // add tabs to distinguish log levels1523 if (debug_level > 0) {1524 for (i = 1; i < debug_level; i++)1525 fprintf(fout, "\t");1526 if (getpid() == g_main_pid)1527 fprintf(fout, "[Main] %s->%s#%d: ", szFile, szFunction,1528 nLine);1529 else if (getpid() == g_buffer_pid && g_buffer_pid > 0)1530 fprintf(fout, "[Buff] %s->%s#%d: ", szFile, szFunction,1531 nLine);1532 else1533 fprintf(fout, "[TH=%d] %s->%s#%d: ", getpid(), szFile,1534 szFunction, nLine);1535 }1536 vfprintf(fout, fmt, args);1537 1538 // do not slow down the progran if standard debug level1539 // must be enabled: if no flush, the log won't be up-to-date if there1540 // is a segfault1541 //if (g_dwDebugLevel != 1)1542 1543 va_end(args);1544 fprintf(fout, "\n");1545 paranoid_fclose(fout);1546 }1547 depth--;1548 paranoid_free(tmp);1549 }1550 1551 /**1552 * Function pointer to the @c log_debug_msg function to use. Points to standard_log_debug_msg() by default.1553 */1554 void (*log_debug_msg) (int, const char *, const char *, int, const char *,1555 ...) = standard_log_debug_msg;1556 1557 1558 1445 /** 1559 1446 * If @p y, malloc @p x, else free @p x. … … 1585 1472 paranoid_free(g_magicdev_command); 1586 1473 } 1587 1588 /*1589 char**list_of_arrays[] = {1590 &g_boot_mountpt,1591 &g_mondo_home,1592 &g_tmpfs_mountpt,1593 &g_erase_tmpdir_and_scratchdir,1594 &g_serial_string,1595 &g_magicdev_command,1596 NULL};1597 1598 char**ppcurr;1599 int i;1600 1601 for(i=0;list_of_arrays[i];i++)1602 {1603 log_msg(5, "Allocating %d", i);1604 ppcurr = list_of_arrays[i];1605 if (mal)1606 { *ppcurr = malloc(MAX_STR_LEN); }1607 else1608 {1609 if (*ppcurr)1610 {1611 free(*ppcurr);1612 }1613 }1614 }1615 log_msg(5, "Returning");1616 */1617 1474 } 1618 1475 -
branches/stable/mondo/mondo/common/mondostructures.h
r514 r538 801 801 struct s_mdrec el[MAXIMUM_RAID_DEVS]; 802 802 }; 803 804 struct s_mrconf { 805 int ia64_boot_size; 806 char *iso_creation_cmd; 807 }; -
branches/stable/mondo/mondo/common/my-stuff.h
r511 r538 1 /* my-stuff.h 2 $Id$ 3 . 4 5 6 07/14 7 - ARCH_THREADS is now 2; buffers, 4 8 9 07/10 10 - added acl, xattr stuff 11 12 06/19 13 - added AUX_VER 14 15 06/14 16 - added DO_MBR_PLEASE 17 18 04/17 19 - replaced INTERNAL_TAPE_BLK_SIZE with g_internal_tape_block_size 20 and DEFAULT_INTERNAL_TAPE_BLOCK_SIZE 21 22 04/13 23 - log_msg is now calling standard_log_debug_msg, not the alias (log_debug_msg) 24 25 04/03/2004 26 - added star and SELINUX support 27 28 11/20/2003 29 - boot from isolinux.bin, not mindi-boot.2880.img 30 31 11/15 32 - reduced SLICE_SIZE from 8192 to 4096 33 34 10/08 35 - set p-i-h volsize to 1GB 36 37 10/21 38 - added MNT_CDROM and FREELOADER 39 40 10/11 41 - added DEFAULT_DVD_DISK_SIZE 42 - added PARTIMAGE_DEBUG_LEVEL 43 44 09/27 45 - better logging 46 47 09/24 48 - added MR_LOGFILE="/tmp/mondo-restore.log" 49 50 09/22 51 - added bool, FALSE, TRUE 52 53 09/20 54 - increasd PPCFG_RAMDISK_SIZE to 150 55 56 09/12 57 - reduced MAX_STR_LEN from 512 to 460 58 59 09/10 60 - moved PPCFG_RAMDISK_SIZE here 61 62 09/05 63 - better config.h stuff 64 65 06/05 66 - changed fgrep to grep 67 68 05/19 69 - added CP_BIN 70 71 05/05 72 - added #include <sys/param.h> and sys/sem.h and ioctl.h 73 74 05/03 75 - added kill_anything_like_this() 76 77 04/24/2003 78 - added *STUB #define's 79 80 11/22/2002 81 - added INTERNAL_TAPE_BLK_SIZE 82 83 10/10 84 - use #define to create XMondo-friendly log file name if appropriate 85 86 08/30 87 - changed ARBITRARY_MAXIMUM to 512 88 89 08/26 90 - set MAX_STR_LEN at 512 but halved it within many _structures_ 91 - changed ARBITRARY_MAXIMUM to 128 92 93 08/08 94 - added '#include <signal.h>' 95 - added WELCOME_STRING 96 97 06/19 98 - changed tape block size from 8192 to 65536 99 100 04/08 101 - added manual_cd_tray flag to bkpinfo 102 103 03/31 104 - added restore_path to struct s_bkpinfo 105 106 03/21 107 - updated version# to 1.42 108 109 02/20 110 - added bkpinfo->using_cdstream 111 112 02/06 113 - added MONDO_VERSION 114 115 02/02 116 - added MONDO_CFG_FILE 117 - added SLICE_SIZE 118 119 01/31 120 - removed MINDI_HOME: it is unnecessary 121 - replaced MONDO_HOME with variable g_mondo_home 122 123 01/25 124 - added MONDO_HOME, MINDI_HOME 125 126 01/21 127 - added s_node{} structure 128 129 01/17 130 - added sys/shm.h, types.h, ipc.h 131 132 01/02/2002 133 - added that groovy bkpinfo{} stuff 134 135 11/29/2001 136 - added raidlist{} struct 137 138 08/27 139 - stuff 1 /* 2 * Common defines across the project 3 * 4 * $Id$ 5 */ 6 7 #ifndef _MY_STUFF_H_ 8 #define _MY_STUFF_H_ 9 10 /* BERLIOS 11 #define HAVE_MALLOC 1 140 12 */ 141 142 #define HAVE_MALLOC 1143 144 13 145 14 // Extra info for ACLs and SELINUX users … … 158 27 * Create the illusion of a Boolean type. 159 28 */ 160 #define bool int29 #define bool unsigned char 161 30 #define TRUE 1 162 31 #define FALSE 0 163 32 #endif 164 33 165 #ifndef _MY_STUFF_H_ 166 #define _MY_STUFF_H_ 167 34 /* BERLIOS 168 35 #ifdef HAVE_CONFIG_H 169 36 #include <config.h> 170 37 #endif 38 */ 171 39 172 40 #ifndef __FreeBSD__ … … 181 49 #include <stdio.h> 182 50 #include <stdlib.h> 51 /* BERLIOS 183 52 #ifndef __USE_FILE_OFFSET64 184 53 #define __USE_FILE_OFFSET64 … … 187 56 #define __USE_LARGEFILE64 188 57 #endif 58 */ 189 59 #include <sys/stat.h> 190 60 #include <fcntl.h> … … 196 66 #include <unistd.h> 197 67 #include <signal.h> 198 //#include <curses.h>199 68 #include <newt.h> 200 69 #include <ctype.h> … … 203 72 #include <assert.h> 204 73 205 #include "../../config.h" 206 74 /* 207 75 #if defined(DEBUG) && !__cplusplus 208 76 int count; 209 char trace_log[255]; /*buffer for logging */77 char trace_log[255]; 210 78 char *trace_log_ptr; 211 #endif /* DEBUG */212 213 #define IA64_BOOT_SIZE "8192" /* Should be coherent with mindi */ 214 #define STD_PREFIX "mondorescue" /* Should be coherent with mindi */79 #endif 80 */ 81 82 #define STD_PREFIX "mondorescue" 215 83 216 84 /** … … 255 123 #define CRC_M16 0xA001 ///< Mask for crc16. 256 124 #define CRC_MTT 0x1021 ///< Mask for crc-ccitt. 257 258 #define FALSE 0 ///< The ubiquitous FALSE macro.259 #define TRUE 1 ///< The even more ubiquitous TRUE macro.260 125 261 126 #define SCREEN_LENGTH 25 ///< The default size of the screen. -
branches/stable/mondo/mondo/mondoarchive/main.c
r497 r538 247 247 { 248 248 struct s_bkpinfo *bkpinfo; 249 struct s_mrconf *mrconf; 249 250 char *tmp; 250 251 int res, retval; … … 275 276 malloc_string(say_at_end); 276 277 278 /* Initialize Configuration Structure */ 279 mrarchive_init_conf(mrconf); 280 277 281 res = 0; 278 282 retval = 0; … … 457 461 finish(0); 458 462 */ 459 res = backup_data(bkpinfo );463 res = backup_data(bkpinfo, mrconf); 460 464 retval += res; 461 465 if (res) { … … 497 501 } 498 502 499 if (does_file_exist("/ root/images/mindi/mondorescue.iso")) {503 if (does_file_exist("/var/cache/mindi/mondorescue.iso")) { 500 504 log_to_screen 501 (_("/ root/images/mindi/mondorescue.iso, a boot/utility CD, is available if you want it."));505 (_("/var/cache/mindi/mondorescue.iso, a boot/utility CD, is available if you want it.")); 502 506 } 503 507 -
branches/stable/mondo/mondo/mondoarchive/mondo-cli.c
r520 r538 247 247 flag_set[i] = FALSE; 248 248 } 249 // strcpy (bkpinfo->tmpdir, "/root/images/mondo");250 // strcpy (bkpinfo->scratchdir, "/home");251 249 for (j = 1; j <= MAX_NOOF_MEDIA; j++) { 252 250 bkpinfo->media_size[j] = 650; -
branches/stable/mondo/mondo/mondorestore/mondo-rstr-newt.c
r497 r538 2328 2328 * @param isodir_device Where to put the device (e.g. /dev/hda4) the user enters. 2329 2329 * @param isodir_format Where to put the format (e.g. ext2) the user enters. 2330 * @param isodir_path Where to put the path (e.g. / root/images/mondo) the user enters.2330 * @param isodir_path Where to put the path (e.g. /var/cache/mondo) the user enters. 2331 2331 * @param nuke_me_please Whether we're planning on nuking or not. 2332 2332 * @return TRUE if OK was pressed, FALSE otherwise. -
branches/stable/mondo/po/fr.po
r501 r538 1314 1314 #: mondo/mondoarchive/main.c:501 1315 1315 msgid "" 1316 "/ root/images/mindi/mondorescue.iso, a boot/utility CD, is available if you "1316 "/var/cache/mindi/mondorescue.iso, a boot/utility CD, is available if you " 1317 1317 "want it." 1318 1318 msgstr "" 1319 "/ root/images/mindi/mondorescue.iso est un CD de boot/utilitaires à votre "1319 "/var/cache/mindi/mondorescue.iso est un CD de boot/utilitaires à votre " 1320 1320 "disposition" 1321 1321
Note:
See TracChangeset
for help on using the changeset viewer.