# vim: set ft=sh: run_hook () { local i net_mac bootif_mac bootif_dev # These variables will be parsed from /tmp/net-*.conf generated by ipconfig local DEVICE local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1 local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH local filename # /tmp/net-*.conf if [[ -n "${ip}" ]]; then if [[ -n "${BOOTIF}" ]]; then bootif_mac=${BOOTIF#01-} bootif_mac=${bootif_mac//-/:} for i in /sys/class/net/*/address; do read net_mac < ${i} if [[ "${bootif_mac}" == "${net_mac}" ]]; then bootif_dev=${i#/sys/class/net/} bootif_dev=${bootif_dev%/address} break fi done ip="${ip}::${bootif_dev}" fi # setup network and save some values ipconfig "ip=${ip}" . /tmp/net-*.conf pxeserver=${ROOTSERVER} # setup DNS resolver if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then echo "nameserver ${IPV4DNS0}" > /etc/resolv.conf fi if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf fi fi }