#!/bin/bash

set -euo pipefail

mkdir -p /ngcp-fallback/run/udev /ngcp-fallback/ngcp-data \
  /ngcp-fallback/etc/udev/rules.d/

if ! mountpoint /ngcp-fallback/proc; then
  mount -t proc   none                  /ngcp-fallback/proc
fi
if ! mountpoint /ngcp-fallback/sys; then
  mount -t sysfs  none                  /ngcp-fallback/sys
fi
if ! mountpoint /ngcp-fallback/dev; then
  mount --bind    /dev                  /ngcp-fallback/dev
fi
if ! mountpoint /ngcp-fallback/dev/pts; then
  mount -t devpts none                  /ngcp-fallback/dev/pts
fi
if ! mountpoint /ngcp-fallback/run/udev; then
  mount --bind    /run/udev             /ngcp-fallback/run/udev
fi
if ! mountpoint /ngcp-fallback/ngcp-data; then
  mount           /dev/mapper/ngcp-data /ngcp-fallback/ngcp-data
fi

cp -at /ngcp-fallback/etc/ /etc/{hosts,passwd,shadow,group,gshadow,fstab,subuid,subgid,timezone,machine-id}
cp -a /etc/udev/rules.d/70-persistent-net.rules /ngcp-fallback/etc/udev/rules.d/
cp -a /root /ngcp-fallback/
