source: branches/2.2.2/mindi/rootfs/sbin/post-init @ 1315

Last change on this file since 1315 was 1315, checked in by bruno, 12 years ago

Log files are now consistent: mondoarchive.log for mondoarchive (containing also mindi.log) and mondorestore.log for mondorestore (copied from /tmp (ram) to /var/log (disk) at the end of the restore)
One include has been created for each bianry containing only that declaration ofr the moment, but which will be extended to include all local definitions (ps_* e.g.)
Doc updated accordingly
LOGFILE in restore process is now passed in the environment and not duplicated anymore
LogIt? is not redifined either
LOGFILE should be put in environment by mondoarchive for mindi's usage but that's a step left for later.

  • Property svn:keywords set to Id
File size: 4.8 KB
Line 
1#!/bin/sh
2#
3# $Id: post-init 1315 2007-04-16 14:13:59Z bruno $
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
59cat /tmp/mountlist.txt >> $LOGFILE
60
61iso=`grep iso /proc/cmdline`
62nuke=`grep nuke /proc/cmdline`
63if [ "$nuke" = "" ] ; then
64    nuke=`grep -i "RESTORE " /proc/cmdline`
65fi
66expert=`grep expert /proc/cmdline`
67compare=`grep compare /proc/cmdline`
68interactive=`grep interactive /proc/cmdline`
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
74        LogIt "FYI, this CD was made by Mindi, not Mondo." 1
75        exit 0
76    else
77        LogIt "Mindi-Linux has finished booting."
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
106if [ "$compare" ] ; then
107    LogIt "------------------COMPARE MODE-----------------" 1
108    mondorestore --compare
109elif [ "$nuke" ] ; then
110    LogIt "-------------------NUKE MODE-------------------" 1
111    mondorestore --nuke
112elif [ "$expert" ] ; then
113    if [ "`grep tapedev /tmp/mondo-restore.cfg`" ] ; then
114    LogIt "-------------------TAPE MODE-------------------" 1
115    loc=`which mondorestore 2> /dev/null`
116    if [ "$loc" = "" ] ; then
117        LogIt "I presume you backed up with Mindi, not Mondo." 1
118    else
119        LogIt "Tape Mode -- calling mondorestore..."
120            if [ "$nuke" ] ; then
121                mondorestore --nuke
122            else
123            mondorestore; # MR will detect & access the tape
124            fi
125    fi
126    elif [ "`grep using-cdstream /tmp/mondo-restore.cfg`" ] ; then
127        LogIt "------------------CDSTREAM MODE------------------" 1
128        loc=`which mondorestore 2> /dev/null`
129        if [ "$loc" = "" ] ; then
130            LogIt "I presume you backed up with Mindi, not Mondo." 1
131        else
132            LogIt "Cdstream Mode -- calling mondorestore..."
133            if [ "$nuke" ] ; then
134                mondorestore --nuke
135            else
136                mondorestore; # MR will detect & access the cdstream
137            fi
138        fi
139    else
140    LogIt "------------------EXPERT MODE------------------" 1
141    LogIt "You do all the work. :-)" 1
142    if which mondorestore > /dev/null 2> /dev/null ; then
143            LogIt "Type 'mondorestore' to begin the restore/compare process." 1
144        loc=`which ISO 2> /dev/null`
145        fi
146    fi
147else
148    LogIt "------------------INTERACTIVE------------------" 1
149    mondorestore --interactive
150fi
151
152[ -e "/tmp/DO-MBR-PLEASE" ] && LogIt "PLEASE RUN 'mondorestore --mbr' NOW TO INITIALIZE YOUR BOOT SECTOR." 1
153
154exit 0
Note: See TracBrowser for help on using the repository browser.