#!/cloonix/startup_bin/bash
export TERM=linux
CLOONFS="/cloonix/cloonfs"
STARTUP_BIN="/cloonix/startup_bin"
TOUCH="${STARTUP_BIN}/touch"
SLEEP="${STARTUP_BIN}/sleep"
MKDIR="${STARTUP_BIN}/mkdir"
CAT="${STARTUP_BIN}/cat"
LN="${STARTUP_BIN}/ln"
MOUNT="${STARTUP_BIN}/mount"
ECHO="${STARTUP_BIN}/echo"
RM="${STARTUP_BIN}/rm"
LOGFILE="/root/cloonix-init-starter-crun.log"

exec &> ${LOGFILE}
echo "START cloonix-init-starter-crun"
set -e
for i in "etc" "bin" "sbin" "lib" "lib64" "share" "var" ; do 
  ${MKDIR} -p /${i}
  ${MOUNT} --bind /cloonix/cloonfs/${i} /${i}
  ${ECHO} "${MOUNT} --bind /cloonix/cloonfs/${i} /${i}"
done
${MKDIR} -p /lib/modules
${MOUNT} --bind /cloonix/cloonfs/lib/modules /lib/modules
${ECHO} "${MOUNT} --bind /cloonix/cloonfs/lib/modules /lib/modules"
${RM} -f /var/run
${LN} -s /run /var/run
${ECHO} "${LN} -s /run /var/run"
if [ -d /root/bulk_host ]; then
  ${RM} -f /var/lib/cloonix/bulk_host
  ${LN} -s /root/bulk_host/ /var/lib/cloonix/bulk_host
  ${ECHO} "${LN} -s /root/bulk_host/ /var/lib/cloonix/bulk_host"
fi
${MKDIR} -p /usr
${ECHO} "${MKDIR} -p /usr"
for i in "bin" "sbin" "lib" "lib64" "share" ; do
  ${RM} -f /usr/${i}
  ${LN} -s ../${i} /usr/${i}
  ${ECHO} "${LN} -s ../${i} /usr/${i}"
done
${RM} -f /root/.bashrc
${CAT} > /root/.bashrc << "EOF"
. /usr/share/bash-completion/bash_completion
EOF
${RM} -f /dev/log

DIRSRC="/cloonix/cloonfs"
DIRDST="/var/lib/cloonix/bulk/self_rootfs"
if [ ! -d ${DIRDST} ]; then
  ${MKDIR} -p ${DIRDST}
  ${ECHO} "${MKDIR} -p ${DIRDST}"
fi
${MOUNT} --bind -o ro  ${DIRSRC} ${DIRDST}
${ECHO} "${MOUNT} --bind -o ro ${DIRSRC} ${DIRDST}"

${RM} -f /run/cloonix_toy.pid
for i in /usr/sbin/rsyslogd /sbin/rsyslogd ; do
  if [ -x $i ]; then
    $i
    ${ECHO} "LAUNCHING $i"
    break
  fi
done
# cloonix-main-server is Type=forking: it daemonises and returns, exactly as
# the unit file said, so pid 1 has to stay alive by itself afterwards.
${ECHO} "/cloonix/cloonfs/bin/cloonix-main-server /cloonix/cloonfs/etc/cloonix.cfg __IDENT__"
/cloonix/cloonfs/bin/cloonix-main-server /cloonix/cloonfs/etc/cloonix.cfg __IDENT__
${ECHO} "LAUNCHING the keep-alive loop"
while true; do
  ${SLEEP} 3600
done

