summaryrefslogtreecommitdiffstats
path: root/hooks
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-16 02:18:54 +0100
committerDave Reisner <dreisner@archlinux.org>2011-11-29 11:56:41 +0100
commitd61dcfb95be58e17a4a84f229d0bf594841adecc (patch)
tree56123beb4ae20096ba0bc27c14d97a4c4167217b /hooks
parent1021e6ef1a21dc9b5cbbc238fd2e94db8789ea0d (diff)
downloadmkinitcpio-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>
Diffstat (limited to 'hooks')
-rw-r--r--hooks/net16
1 files changed, 15 insertions, 1 deletions
diff --git a/hooks/net b/hooks/net
index b964d13..ea19230 100644
--- a/hooks/net
+++ b/hooks/net
@@ -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}"