conf/68108: Adding mac-address /conf selector to diskless boot

Dirk-Willem van Gulik dirkx at webweaving.org
Sat Jun 19 11:50:42 GMT 2004


The following reply was made to PR conf/68108; it has been noted by GNATS.

From: Dirk-Willem van Gulik <dirkx at webweaving.org>
To: FreeBSD-gnats-submit at FreeBSD.org, freebsd-bugs at FreeBSD.org
Cc:  
Subject: Re: conf/68108: Adding mac-address /conf selector to diskless boot
Date: Sat, 19 Jun 2004 04:32:24 -0700 (PDT)

 The fix does not work on  a default install. Below fixes that.
 
 Dw.
 
 diff -c3 /tmp/initdiskless initdiskless
 *** /tmp/initdiskless   Sat Jun 19 12:51:53 2004
 --- initdiskless        Sat Jun 19 13:30:52 2004
 ***************
 *** 40,45 ****
 --- 40,46 ----
   #
   #     /conf/base              universal base
   #     /conf/default           modified by a secondary universal base
 + #     /conf/${macaddress}     modified by the mac address of the
 physical machine.
   #     /conf/${ipba}           modified based on the assigned broadcast
 IP
   #     /conf/${ip}             modified based on the machine's assigned
 IP
   #
 ***************
 *** 132,137 ****
 --- 133,146 ----
   bootp_ipbca=""
   iflist=`ifconfig -l`
   for i in ${iflist} ; do
 +     set `ifconfig ${i} ether`
 +     if [ "x$5" = "xether" ]; then
 +       _IFS=${IFS}
 +       IFS=:
 +       set $6
 +       boot_mac=$1$2$3$4$5$6
 +       IFS=${_IFS}
 +     fi
       set `ifconfig ${i}`
       while [ $# -ge 1 ] ; do
           if [ "${bootp_ifc}" = "" -a "$1" = "inet" ] ; then
 ***************
 *** 146,152 ****
           break
       fi
   done
 ! echo "Interface ${bootp_ifc} IP-Address ${bootp_ipa} Broadcast
 ${bootp_ipbca}"
 
   # Figure out our NFS root path
   #
 --- 155,161 ----
           break
       fi
   done
 ! echo "Interface ${boot_mac} ${bootp_ifc} IP-Address ${bootp_ipa}
 Broadcast ${bootp_ipbca}"
 
   # Figure out our NFS root path
   #
 ***************
 *** 159,167 ****
       shift
   done
 
 ! # Resolve templates in /conf/base, /conf/default, /conf/${bootp_ipbca},
 ! # and /conf/${bootp_ipa}.  For each subdirectory found within these
 ! # directories:
   #
   # - calculate memory filesystem sizes.  If the subdirectory (prior to
   #   NFS remounting) contains the file 'md_size', the contents specified
 --- 168,176 ----
       shift
   done
 
 ! # Resolve templates in /conf/base, /conf/default, /conf/${boot_mac},
 ! # /conf/${bootp_ipbca} # and /conf/${bootp_ipa}.  For each subdirectory
 ! # found within these directories:
   #
   # - calculate memory filesystem sizes.  If the subdirectory (prior to
   #   NFS remounting) contains the file 'md_size', the contents specified
 ***************
 *** 179,185 ****
   #   it before attemping to the remount.  This allows the root to be
   #   relocated without needing to change the remount files.
   #
 ! for i in base default ${bootp_ipbca} ${bootp_ipa} ; do
       for j in /conf/$i/* ; do
         # memory filesystem size specification
         #
 --- 188,194 ----
   #   it before attemping to the remount.  This allows the root to be
   #   relocated without needing to change the remount files.
   #
 ! for i in base default ${boot_mac} ${bootp_ipbca} ${bootp_ipa} ; do
       for j in /conf/$i/* ; do
         # memory filesystem size specification
         #
 


More information about the freebsd-bugs mailing list