#!/bin/sh

. /etc/debian-build.conf

if [ -e /tmp/.dru-boot.done ]; then
  exit 0
fi

if [ ! -e /dev/gpio ]; then
  # Create device node for gpio control
  #mknod -m 644 /dev/gpio c  0
  mknod -m 644 /dev/gpio c 253 0
fi

if [ ! -e /etc/.zy-first.done ]; then
  /usr/local/bin/zy-nand-get

  if [ ${imageOmvInit} = true ]; then
    oi=`which omv-initsystem || true`
    if [ "X${oi}" = "X" ]; then
      omv-confdbadm populate
    else
      omv-initsystem
    fi
    usermod -a -G openmediavault-admin admin
    dpkg-reconfigure openmediavault-lvm2

    /usr/bin/salt-call --local saltutil.clear_cache
    omv-salt stage run prepare
  fi

  touch /etc/.zy-first.done
fi

if [ ${imageOmv} = true ]; then
  omv-mkconf issue
fi

ipbin=`which ip || true`
defgw=`grep -m1 'gateway4: ' /etc/netplan/*.yaml | cut -d ':' -f 3- | tr -d ' '`
if [ "X${defgw}" = "X" ]; then
  defgw=`cat /etc/netplan/*.yaml | grep -A5 'routes:' | grep -A1 'to: 0.0.0.0/0' | grep -m1 'via:' | cut -d ':' -f 2 | cut -d ' ' -f 2`
fi
defns=`cat /etc/netplan/*.yaml | grep -A3 'nameservers:' | grep -A1 'addresses:' | grep -m1 '\- ' | cut -d '-' -f 2- | cut -d ' ' -f 2`

if [ "X${ipbin}" != "X" -a "X${defgw}" != "X" ]; then
  ip route add default via ${defgw}
fi

if [ -e /etc/systemd/resolved.conf -a "X${defns}" != "X" ]; then
  if grep -q -E '^#DNS=' /etc/systemd/resolved.conf ; then
    sed -i s/'^#DNS=.*'/'DNS='${defns}/g /etc/systemd/resolved.conf
    systemctl restart systemd-resolved
  fi
fi

/sbin/buzzerc -t 1
/sbin/setLED SYS OFF

touch /tmp/.dru-boot.done
