source: MondoRescue/branches/2.2.7/mindi/rootfs/sbin/post-init@ 1989

Last change on this file since 1989 was 1989, checked in by Bruno Cornec, 16 years ago
  • Rwmove ChopUpAndCopyFile in mindi
  • mindi doesn't use slices anymore (no need as no floppy anymore)
  • Removal of sone useless scripts under restore-scripts/mondo
  • Property svn:keywords set to Id
File size: 5.0 KB
RevLine 
[1]1#!/bin/sh
2#
[232]3# $Id: post-init 1989 2008-06-22 20:17:59Z bruno $
[1]4#
5#------------------------------------------------------------
6
7
8call_multifunc_cd() {
9 echo "Hooray! I'm a multi-function CD. Oo! Oo!"
10 mount | grep cdrom > /dev/null 2> /dev/null || mount /dev/cdrom /mnt/cdrom >> $LOGFILE 2>> $LOGFILE
11 for i in bin lib usr sbin ; do
12 echo -en "\rNormalizing $i ... "
13 if [ -d "/mnt/cdrom/$i" ] ; then
14 for j in `find /mnt/cdrom/$i` ; do
15 k=`echo "$j" | awk -F '/' '{for(i=4; i<=NF;i++) {printf("/%s",$i);};printf "\n"; }'`
16 mkdir -p $k
17 rmdir $k 2> /dev/null
18 ln -sf $j $k
19 done
20 fi
21 done
22 echo -en "\rNormalized softlinks OK.\n"
23 echo -en "Shall I run a CPU burn-in test in the background (y/n) ?"
24 read line
25 if [ "$line" = "y" ] || [ "$line" = "Y" ] || [ "$line" = "yes" ] || [ "$line" = "YES" ] ; then
26 for i in `find /usr/local/sbin/burn*` ; do basename $i ; done
27 echo -en "...Which one ?"
28 read line
29 $i || echo $? &
30 fi
31 for i in lucifer mprime ; do
32# tiobench ide-smart
33 if which $i > /dev/null > /dev/null ; then
34 echo -en "Shall I run $i (y/n) ?"
35 read line
36 if [ "$line" = "y" ] || [ "$line" = "Y" ] || [ "$line" = "yes" ] || [ "$line" = "YES" ] ; then
37 echo "Running $i ..."
38 $i || echo "Warning - $i returned an error"
39 fi
40 fi
41 done
42
43# echo "Running bash."
44# busybox sh
45 echo "Exiting multi-function CD thingy. Please reboot immediately."
46 exit 0
47}
48
49
50# ---------------------------- main ----------------------------
51
52sleep 1
53
54if [ -e "/MULTIFUNC" ] ; then
55 LogIt "I think this is a multifunc CD but I'm not going there today."
56# call_multifunc_cd
57fi
58
[1315]59cat /tmp/mountlist.txt >> $LOGFILE
[1]60
[273]61iso=`grep iso /proc/cmdline`
62nuke=`grep nuke /proc/cmdline`
[1]63if [ "$nuke" = "" ] ; then
[273]64 nuke=`grep -i "RESTORE " /proc/cmdline`
[1]65fi
[273]66expert=`grep expert /proc/cmdline`
67compare=`grep compare /proc/cmdline`
68interactive=`grep interactive /proc/cmdline`
[1]69[ "$interactive" ] && expert=""; # in case 'expert' crops up somewhere
70if which mondorestore > /dev/null 2> /dev/null ; then
71 LogIt "mondorestore found; cool..."
72else
73 if [ "$iso$nuke$compare$interactive" != "" ] ; then
[739]74 LogIt "FYI, this CD was made by Mindi, not Mondo." 1
75 exit 0
[1]76 else
[739]77 LogIt "Mindi-Linux has finished booting."
[1]78 fi
79fi
80
81if [ -h "`which mondorestore`" ] ; then
82 LogIt "Turning mondorestore from a hyperlink into an executable"
83 cat `which mondorestore` > /usr/bin/MR
84# in case there's more than one instance :)
85 rm -f `which mondorestore 2> /dev/null`
86 rm -f `which mondorestore 2> /dev/null`
87 rm -f `which mondorestore 2> /dev/null`
88 rm -f `which mondorestore 2> /dev/null`
89 mv /usr/bin/MR /usr/bin/mondorestore
90 chmod +x /usr/bin/mondorestore
91fi
92
93if which bootstrap > /dev/null 2> /dev/null ; then
94 LogIt "Calling bootstrap script" 1
95 bootstrap
96fi
97
98for i in mount-me unmount-me mondorestore ; do
99 if which $i > /dev/null 2> /dev/null ; then
100 LogIt "$i found"
101 else
102 LogIt "Warning - $i not found on ramdisk."
103 fi
104done
105
[1962]106mondoopt=""
[1983]107if [ "`grep -i 'obdr ' /tmp/mondo-restore.cfg 2> /dev/null`" ]; then
[1962]108 mondoopt="$mondoopt -o -d $TAPEDEV"
109fi
110
111if [ "`grep -i 'debug' /proc/cmdline`" ]; then
112 mondoopt="$mondoopt -K 99"
113fi
114
[1]115if [ "$compare" ] ; then
116 LogIt "------------------COMPARE MODE-----------------" 1
[1967]117 mondorestore $mondoopt -Z compare
[1]118elif [ "$nuke" ] ; then
119 LogIt "-------------------NUKE MODE-------------------" 1
[1967]120 mondorestore $mondoopt -Z nuke
[1]121elif [ "$expert" ] ; then
[1983]122 if [ "`grep tapedev /tmp/mondo-restore.cfg 2> /dev/null`" ] ; then
[1]123 LogIt "-------------------TAPE MODE-------------------" 1
124 loc=`which mondorestore 2> /dev/null`
125 if [ "$loc" = "" ] ; then
126 LogIt "I presume you backed up with Mindi, not Mondo." 1
127 else
128 LogIt "Tape Mode -- calling mondorestore..."
129 if [ "$nuke" ] ; then
[1967]130 mondorestore $mondoopt -Z nuke
[1]131 else
[1962]132 mondorestore $mondoopt; # MR will detect & access the tape
[1]133 fi
134 fi
[1983]135 elif [ "`grep using-cdstream /tmp/mondo-restore.cfg 2> /dev/null`" ] ; then
[1]136 LogIt "------------------CDSTREAM MODE------------------" 1
137 loc=`which mondorestore 2> /dev/null`
138 if [ "$loc" = "" ] ; then
139 LogIt "I presume you backed up with Mindi, not Mondo." 1
140 else
141 LogIt "Cdstream Mode -- calling mondorestore..."
142 if [ "$nuke" ] ; then
[1967]143 mondorestore -Z nuke $mondoopt
[1]144 else
[1962]145 mondorestore $mondoopt; # MR will detect & access the cdstream
[1]146 fi
147 fi
148 else
[1612]149 LogIt "------------------EXPERT MODE------------------" 1
150 LogIt "You do all the work. :-)" 1
151 if which mondorestore > /dev/null 2> /dev/null ; then
[1]152 LogIt "Type 'mondorestore' to begin the restore/compare process." 1
153 fi
154 fi
155else
156 LogIt "------------------INTERACTIVE------------------" 1
[1967]157 mondorestore -Z interactive $mondoopt
[1]158fi
159
[1967]160[ -e "/tmp/DO-MBR-PLEASE" ] && LogIt "PLEASE RUN 'mondorestore -Z mbr' NOW TO INITIALIZE YOUR BOOT SECTOR." 1
[1]161
162exit 0
Note: See TracBrowser for help on using the repository browser.