# Each ARM device tends to be configurable from u-boot which is accessed via serial.
# If anybody thinks this is a security hole, don't plug in a serial cable.
#
# Assume that if a particular device exists, then it's also the console upon
# which we should bring up the getty.  This saves us having to match devices
# against serial port driver names, which is much harder with the introduction of
# Flattened Device Tree.
#
# Assume first that we're on a device that uses the standard serial port driver: ttyS0.
sed -i '/^# Local serial lines:/ a\s0:12345:respawn:/sbin/agetty 115200 ttyS0 vt100' etc/inittab.new
# See whether we have any of the common serial drivers present, and if so we'll switch to that:
# This may be incorrect since we don't know if the user is using the 0 port, but at least this
# might help get them using the right serial driver at least.
for serialport in tty{AMA0,mxc0,SAC0}; do
   [ -c "/dev/$serialport" ] && \
     sed -i '/^# Local serial lines:/{n;d}' etc/inittab.new && \
     sed -i '/^# Local serial lines:/ a\s0:12345:respawn:/sbin/agetty 115200 '"$serialport"' vt100' etc/inittab.new
done


config() {
  NEW="$1"
  OLD="`dirname $NEW`/`basename $NEW .new`"
  # If there's no config file by that name, mv it over:
  if [ ! -r $OLD ]; then
    mv $NEW $OLD
  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
    rm $NEW
  fi
  # Otherwise, we leave the .new copy for the admin to consider...
}
# Slackware scripts
config etc/inittab.new
config etc/rc.d/rc.4.new
config etc/rc.d/rc.6.new
config etc/rc.d/rc.K.new
config etc/rc.d/rc.M.new
config etc/rc.d/rc.S.new
config etc/rc.d/rc.cpufreq.new
config etc/rc.d/rc.local.new
config etc/rc.d/rc.loop.new
config etc/rc.d/rc.sysvinit.new
config etc/rc.d/rc.modules.new
config etc/rc.d/rc.modules.local.new

( cd etc/rc.d ; rm -rf rc.0 )
( cd etc/rc.d ; ln -sf rc.6 rc.0 )

