source: MondoRescue/branches/2.2.6/mindi/rootfs/sbin/start-nfs@ 2001

Last change on this file since 2001 was 2001, checked in by Bruno Cornec, 16 years ago
  • Fix for #270 by mounting NFS share ro, to avoid removal of mondo images. More fixes are done in 2.2.7. This is to create an intermediate 2.0.3 mindi version fixing only that issue.
  • Property svn:executable set to *
File size: 2.4 KB
Line 
1#!/bin/sh
2#
3# $Id$
4#
5# This script sets up the network + NFS environment if needed.
6#
7
8
9# number of ping
10ipcount=3
11
12# Get info from config file
13ipdev=`grep nfs-dev /tmp/mondo-restore.cfg | cut -d' ' -f2-`
14ipaddress=`grep nfs-client-ipaddr /tmp/mondo-restore.cfg | cut -d' ' -f2-`
15ipnetmask=`grep nfs-client-netmask /tmp/mondo-restore.cfg | cut -d' ' -f2-`
16ipbroadcast=`grep nfs-client-broadcast /tmp/mondo-restore.cfg | cut -d' ' -f2-`
17ipgateway=`grep nfs-client-defgw /tmp/mondo-restore.cfg | cut -d' ' -f2-`
18ipconf=""
19export nfsmount=`grep nfs-server-mount /tmp/mondo-restore.cfg | cut -d' ' -f2-`
20export imgname=`grep iso-prefix /tmp/mondo-restore.cfg | cut -d' ' -f2-`
21if [ "$imgname" = "" ]; then
22 export imgname="mondorescue"
23fi
24export dirimg=`grep nfs-server-path /tmp/mondo-restore.cfg | cut -d' ' -f2-`
25if [ "$dirimg" = "" ]; then
26 export dirimg="/"
27fi
28
29# info from cmdline are predominent
30for i in `cat /proc/cmdline` ; do
31 echo $i | grep -qi ping= && ipcount=`echo $i | cut -d= -f2`
32 echo $i | grep -qi ipconf= && ipconf=`echo $i | cut -d= -f2`
33 echo $i | grep -qi nfsmount= && export nfsmount=`echo $i | cut -d= -f2`
34 echo $i | grep -qi prefix= && export imgname=`echo $i | cut -d= -f2`
35done
36
37if [ "$ipdev" != "" ] || [ "$ipconf" != "" ]; then
38 # Network configuration stored during archive
39 # or on cmdline so network wanted => starting it
40 LogIt "Starting Network..."
41
42 # Activate loobback
43 ifconfig lo 127.0.0.1
44
45 echo "$ipconf" | grep -q "dhcp"
46 if [ $? -eq 0 ]; then
47 ipdev=`echo $ipconf | cut -d: -f1`
48 LogIt "Making DHCP request on $ipdev"
49 udhcpc -i $ipdev
50 else
51 if [ "$ipconf" != "" ]; then
52 ipdev=`echo $ipconf | cut -d: -f1`
53 ipaddress=`echo $ipconf | cut -d: -f2`
54 ipnetmask=`echo $ipconf | cut -d: -f3`
55 ipbroadcast=`echo $ipconf | cut -d: -f4`
56 ipgateway=`echo $ipconf | cut -d: -f5`
57 fi
58 LogIt "Configuring $ipdev statically ($ipaddress/$ipnetmask)"
59 ifconfig $ipdev $ipaddress netmask $ipnetmask broadcast $ipbroadcast
60 route add default gw $ipgateway
61 fi
62
63 # ping server helps waking interface up
64 LogIt "Pinging NFS server..."
65 nfs_server_ipaddr=`echo $nfsmount | cut -d: -f1`
66 ping -c $ipcount $nfs_server_ipaddr
67
68 # Finally mounts the NFS share
69 LogIt "Mounting NFS share ($nfsmount) on /tmp/isodir..."
70 touch /etc/mtab
71 mount -t nfs -o nolock,ro $nfsmount /tmp/isodir
72
73 LogIt "Mounting NFS image ${imgname}-1.iso in $dirimg on /mnt/cdrom in loopback"
74 mount -o ro,loop -t iso9660 /tmp/isodir/$dirimg/${imgname}-1.iso /mnt/cdrom
75fi
Note: See TracBrowser for help on using the repository browser.