diff options
author | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-11-28 12:28:03 -0300 |
---|---|---|
committer | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-11-28 12:28:03 -0300 |
commit | 1edaf15cef3420484d1dfbf08de43fe8d800ab64 (patch) | |
tree | eeecbe49bb2324730881d1f67d924d70777da507 /archiso/hooks/archiso_pxe_common | |
parent | 40965461a4a730881a153432e66521734b1b965c (diff) | |
download | archiso32-1edaf15cef3420484d1dfbf08de43fe8d800ab64.tar.xz |
[archiso] Split archiso_pxe_nbd in two hooks.
One hook only setup the network device (archiso_pxe_common) the other
setup the NBD client (archiso_pxe_nbd).
New bootparam:
archiso_pxe_srv=IP
Allow to set an IP different from the PXE server.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Diffstat (limited to 'archiso/hooks/archiso_pxe_common')
-rw-r--r-- | archiso/hooks/archiso_pxe_common | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/archiso/hooks/archiso_pxe_common b/archiso/hooks/archiso_pxe_common new file mode 100644 index 0000000..cf9fce8 --- /dev/null +++ b/archiso/hooks/archiso_pxe_common @@ -0,0 +1,34 @@ +# 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} + fi +} |