diff options
author | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-11-16 02:18:54 +0100 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2011-11-29 11:56:41 +0100 |
commit | d61dcfb95be58e17a4a84f229d0bf594841adecc (patch) | |
tree | 56123beb4ae20096ba0bc27c14d97a4c4167217b | |
parent | 1021e6ef1a21dc9b5cbbc238fd2e94db8789ea0d (diff) | |
download | mkinitcpio-d61dcfb95be58e17a4a84f229d0bf594841adecc.tar.gz mkinitcpio-d61dcfb95be58e17a4a84f229d0bf594841adecc.tar.xz |
hooks/net: Add BOOTIF support
This feature was present in archiso_pxe_nbd for a long time.
it avoids to configure more than one device (if present) by ipconfig
with the same parameters.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rw-r--r-- | hooks/net | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -1,7 +1,7 @@ # vim: set ft=sh: run_hook () { - local line defaultrootpath defaultserver + local line i net_mac bootif_mac bootif_dev defaultrootpath defaultserver # These variables will be parsed from /tmp/net-*.conf generated by ipconfig local DEVICE local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1 @@ -14,6 +14,20 @@ run_hook () fi 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}" |