summaryrefslogtreecommitdiffstats
path: root/testModule/hooks/cmdline.sh
blob: 340467dff934eb92183d6ce13bcb090cf5ab7643 (plain) (blame)
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
# Converts ip configuration format given by the pxe pre boot provider to a
# dracut compatible static ip configuration.

source /usr/lib/test-library.sh

for parameter in $(getargs ip=); do
    local temp="$parameter:"
    set --
    while [ -n "$temp" ]; do
        set -- "$@" "${temp%%:*}"
        temp=${temp#*:}
    done

    [ -n "$1" ] && ip=$1
    [ -n "$2" ] && server_ip=$2
    [ -n "$3" ] && gateway_ip=$3
    [ -n "$4" ] && net_mask=$4

    warn "PXE given net configuration: ip: $ip server_ip: $server_ip gateway_ip: $gateway_ip net_mask: $net_mask"
    local final_dracut_ip_config="$ip::$gateway_ip:$net_mask:dracut_test_client:enp0s3:none"
    warn "Final dracut ip config: $final_dracut_ip_config"
    replace_cmd ip "$final_dracut_ip_config"
done

# NOTE: Doesn't work since dracuts needed version of mount doesn't support
# binds.
#cat /proc/cmdline | sed --regexp-extended 's/ip=[^ ]+//g' \
#    >"$temporary_kernel_commandline_file_path" && \
#mount -n --rbind -o ro "$temporary_kernel_commandline_file_path" /proc/cmdline