#!/bin/sh
# 
if [ "$1" = "prereqs" ]; then
  exit 0
fi


. /scripts/functions
. /conf/tcos.conf
. /conf/tcos-run-functions

quiet=n

# if break=make_init STOP here
maybe_break make_init

# read /tmp/less_ram
if [ "$(cat /tmp/less_ram)" = "0" ]; then
  # have more than TCOS_MIN_RAM
  exit 0
fi


if grep -q bootchartd /proc/cmdline ; then
  # stop bootchart
  /sbin/tcos-bootchartd stop
  mkdir -p /root/tmp/bootchart
  mv /tmp/bootchart/* /root/tmp/bootchart
fi

UDEV_SCRIPT=/scripts/init-premount/udev
[ -e /scripts/init-top/udev ] && UDEV_SCRIPT=/scripts/init-top/udev


rm -f /root/sbin/init
cat << EOF > /root/sbin/init
#!/bin/sh

. /scripts/functions

. /conf/initramfs.conf
. /conf/tcos.conf

quiet=n

if grep -q bootchartd /proc/cmdline ; then
 /sbin/daemonize.sh /sbin/tcos-bootchartd start
fi


/scripts/tcos-top/01busybox >/dev/null 2>&1

# start udev again
log_begin_msg "Re-Discovering hardware"
$UDEV_SCRIPT
find / -type f >/dev/null 2>&1
log_end_msg \$?


run_scripts /scripts/tcos-bottom/

EOF
chmod +x /root/sbin/init




mkdir -p /root/proc /root/dev /root/sys
mkdir -p /root/var/run /root/var/www /root/var/log /root/tmp

#mkdir -p /root/var/lib/dhcp
#cat /var/lib/dhcp/dhclient.leases > /root/var/lib/dhcp/dhclient.leases
cat /tmp/net.data > /root/tmp/net.data
cat /etc/hostname > /root/etc/hostname
cat /etc/hosts > /root/etc/hosts
cat /etc/resolv.conf > /root/etc/resolv.conf
cat /etc/modules > /root/etc/modules
cat /tmp/initramfs.debug > /root/tmp/initramfs.debug
cat /var/log/messages > /root/var/log/messages
cat /tmp/less_ram > /root/tmp/less_ram

touch /etc/mtab
cat /etc/mtab > /root/etc/mtab

[ -e /etc/console/boottime.kmap.gz ] && cat /etc/console/boottime.kmap.gz > /root/etc/console/boottime.kmap.gz

exit 0
