You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
900 B
41 lines
900 B
#!/bin/bash |
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- |
|
# ex: ts=8 sw=4 sts=4 et filetype=sh |
|
|
|
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh |
|
|
|
DEVICE=$1 |
|
|
|
. /tmp/cms.conf |
|
|
|
strstr "$IPADDR" '*:*:*' && ipv6=1 |
|
|
|
if [ "$ipv6" ] && ! str_starts "$IPADDR" "["; then |
|
IPADDR="[$IPADDR]" |
|
fi |
|
|
|
if [ "$ipv6" ] && ! str_starts "$GATEWAY" "["; then |
|
GATEWAY="[$GATEWAY]" |
|
fi |
|
|
|
if [ "$ipv6" ]; then |
|
DNS1=$(set -- ${DNS/,/ }; echo $1) |
|
DNS2=$(set -- ${DNS/,/ }; echo $2) |
|
else |
|
DNS1=$(set -- ${DNS/:/ }; echo $1) |
|
DNS2=$(set -- ${DNS/:/ }; echo $2) |
|
fi |
|
|
|
{ |
|
echo "ip=$IPADDR::$GATEWAY:$NETMASK:$HOSTNAME:$DEVICE:none:$MACADDR" |
|
for i in $DNS1 $DNS2; do |
|
echo "nameserver=$i" |
|
done |
|
} > /etc/cmdline.d/80-cms.conf |
|
unset CMDLINE |
|
|
|
[ -e "/tmp/net.ifaces" ] && read IFACES < /tmp/net.ifaces |
|
IFACES="$IFACES $DEVICE" |
|
echo "$IFACES" >> /tmp/net.ifaces |
|
|
|
ifup $DEVICE -m
|
|
|