- Timestamp:
- Oct 9, 2011, 1:03:19 PM (14 years ago)
- Location:
- branches/2.2.9
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.9/mindi/README.pxe
r2498 r2887 11 11 label mondo 12 12 kernel vmlinuz-mondo 13 append initrd=initrd-mondo load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=131072 rw root=/dev/ram iso acpi=off apm=off devfs=nomount exec-shield=0 pxe [proto=nfs|sshfs] [prefix=machine] [ipconf=(ipdev:ipadr:netmask:broadcast:gateway|ipdev:dhcp)] [ netfsmount=server:mountpoint] [netfsopt=-o option][netfspath=local_path] [ping=#] ...13 append initrd=initrd-mondo load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=131072 rw root=/dev/ram iso acpi=off apm=off devfs=nomount exec-shield=0 pxe [proto=nfs|sshfs] [prefix=machine] [ipconf=(ipdev:ipadr:netmask:broadcast:gateway|ipdev:dhcp)] [hwaddr=M:A:C:A:D:R] [netfsmount=server:mountpoint] [netfsopt=-o option][netfspath=local_path] [ping=#] ... 14 14 15 15 ipdev is the device name (e.g. eth2) … … 19 19 gateway is the default gateway (e.g. 192.168.1.254) 20 20 dhcp is a keyword. Using it will provide all the previous 4 values to activate the LAN interface. 21 hwaddr is the MAC address of the device you want to use to restore through 21 22 proto is the protocol to use for mounting the remote share (default is NFS, sshfs is also available) 22 23 server is the ip addr of the Remote Network server … … 48 49 CAVEAT: the limit to the number of char on the append line is 255. Use symlinks to reduce the size of your path if needed. 49 50 50 Please report any problem around that tool to bruno @mondorescue.org51 Please report any problem around that tool to bruno_at_mondorescue.org 51 52 53 2011-10-09 adds support for hwaddr 52 54 2009-12-05 nfsopt added tp allow for custom options at mount time 53 55 2009-09-09 Changed to netfs for multi protocol support (nfs, sshfs, ...) -
branches/2.2.9/mindi/mindi
r2883 r2887 991 991 AddFileToCfgIfExists $MINDI_TMP/NETFS-CLIENT-NETMASK netfs-client-netmask $outfile 992 992 AddFileToCfgIfExists $MINDI_TMP/NETFS-CLIENT-BROADCAST netfs-client-broadcast $outfile 993 AddFileToCfgIfExists $MINDI_TMP/NETFS-CLIENT-HWADDR netfs-client-hwaddr $outfile 993 994 AddFileToCfgIfExists $MINDI_TMP/NETFS-CLIENT-DEFGW netfs-client-defgw $outfile 994 995 AddFileToCfgIfExists $MINDI_TMP/NETFS-SERVER-MOUNT netfs-server-mount $outfile -
branches/2.2.9/mindi/rootfs/sbin/start-netfs
r2709 r2887 12 12 # Get info from config file 13 13 ipdev=`grep netfs-dev /tmp/mondo-restore.cfg 2> /dev/null | cut -d' ' -f2-` 14 hwaddr=`grep netfs-client-hwaddr /tmp/mondo-restore.cfg 2> /dev/null | cut -d' ' -f2-` 14 15 ipaddress=`grep netfs-client-ipaddr /tmp/mondo-restore.cfg 2> /dev/null | cut -d' ' -f2-` 15 16 ipnetmask=`grep netfs-client-netmask /tmp/mondo-restore.cfg 2> /dev/null | cut -d' ' -f2-` … … 33 34 for i in `cat /proc/cmdline` ; do 34 35 echo $i | grep -qi ping= && ipcount=`echo $i | cut -d= -f2` 36 echo $i | grep -qi hwaddr= && hwaddr=`echo $i | cut -d= -f2` 35 37 echo $i | grep -qi ipconf= && ipconf=`echo $i | cut -d= -f2` 36 38 echo $i | grep -qi netfsmount= && export netfsmount=`echo $i | cut -d= -f2` … … 64 66 ipgateway=`echo $ipconf | cut -d: -f5` 65 67 fi 68 69 # If same system, map to the right MAC address 70 hwaddr_found=`ifconfig $ipdev | /bin/grep HWaddr | awk '{print $NF}'` 71 if [ "$hwaddr" != "$hwaddr_found" ]; then 72 ipdev_new=`ifconfig -a | /bin/grep $hwaddr | awk '{print $1}'` 73 if [ "$ipdev_new" != "" ]; then 74 LogIt "Interface $ipdev changed to $ipdev_new (MAC: $hwaddr)" 75 ipdev=$ipdev_new 76 else 77 LogIt "NOTE: Interface $ipdev kept despite it doesn't match the $hwaddr MAC address" 78 fi 79 fi 80 66 81 LogIt "Configuring $ipdev statically ($ipaddress/$ipnetmask)" 67 82 ifconfig $ipdev $ipaddress netmask $ipnetmask broadcast $ipbroadcast 68 83 route add default gw $ipgateway 84 69 85 fi 86 87 # Leave time to the satck to wake up (reported by some users) 88 sleep 5 70 89 71 90 # ping server helps waking interface up -
branches/2.2.9/mondo/src/common/libmondo-files.c
r2847 r2887 1103 1103 /*@ buffers ******** */ 1104 1104 char netfs_dev[MAX_STR_LEN]; 1105 char mac_addr[MAX_STR_LEN];1106 1105 char netfs_mount[MAX_STR_LEN]; 1106 char netfs_client_hwaddr[MAX_STR_LEN]; 1107 1107 char netfs_client_ipaddr[MAX_STR_LEN]; 1108 1108 char netfs_client_netmask[MAX_STR_LEN]; … … 1131 1131 "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\n' | head -n1 | cut -d' ' -f1"); 1132 1132 strcpy(netfs_dev, call_program_and_get_last_line_of_output(command)); 1133 sprintf(command, 1134 "ifconfig %s | head -1 | awk '{print $5}'", netfs_dev); 1135 strcpy(netfs_client_hwaddr, call_program_and_get_last_line_of_output(command)); 1133 1136 sprintf(command, 1134 1137 "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\\n' | head -n1 | tr -s '\t' ' ' | cut -d' ' -f7 | cut -d':' -f2"); … … 1148 1151 call_program_and_get_last_line_of_output(command)); 1149 1152 sprintf(tmp, 1150 "netfs_client_ ipaddr=%s; netfs_server_ipaddr=%s; netfs_mount=%s",1151 netfs_client_ ipaddr, netfs_server_ipaddr, netfs_mount);1153 "netfs_client_hwaddr=%s; netfs_client_ipaddr=%s; netfs_server_ipaddr=%s; netfs_mount=%s", 1154 netfs_client_hwaddr, netfs_client_ipaddr, netfs_server_ipaddr, netfs_mount); 1152 1155 if (strlen(netfs_dev) < 2) { 1153 1156 fatal_error … … 1166 1169 log_to_screen("Found bonding device %s; looking for corresponding ethN slave device\n", netfs_dev); 1167 1170 sprintf(command, 1168 "ifconfig %s | awk '{print $5}' | head -n1", netfs_dev); 1169 strcpy(mac_addr, call_program_and_get_last_line_of_output(command)); 1170 sprintf(command, 1171 "ifconfig | grep -E '%s' | grep -v '%s' | head -n1 | cut -d' ' -f1", mac_addr,netfs_dev); 1171 "ifconfig | grep -E '%s' | grep -v '%s' | head -n1 | cut -d' ' -f1",netfs_client_hwaddr,netfs_dev); 1172 1172 strcpy(netfs_dev, call_program_and_get_last_line_of_output(command)); 1173 1173 log_to_screen("Replacing it with %s\n", netfs_dev); … … 1180 1180 write_one_liner_data_file(tmp, bkpinfo->netfs_proto); 1181 1181 1182 sprintf(tmp, "%s/NETFS-CLIENT-HWADDR", bkpinfo->tmpdir); 1183 write_one_liner_data_file(tmp, netfs_client_hwaddr); 1182 1184 sprintf(tmp, "%s/NETFS-CLIENT-IPADDR", bkpinfo->tmpdir); 1183 1185 write_one_liner_data_file(tmp, netfs_client_ipaddr);
Note:
See TracChangeset
for help on using the changeset viewer.