summaryrefslogtreecommitdiff
path: root/archiso/hooks/archiso_pxe_common
blob: cf9fce8c9b92e4e294555ead556a0630ecfccdd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
}