#! /bin/sh
### BEGIN INIT INFO
# Provides:          armhwinfo
# Required-Start:    
# Required-Stop:     glibc
# Default-Start:     S
# Default-Stop:
# Short-Description: Get some info about hardware for some ARM boards
### END INIT INFO

CORES=$(grep -c ^processor /proc/cpuinfo)
MEMTOTAL=$(awk 'BEGIN { printf "%.0f\n", '$(grep MemTotal /proc/meminfo | awk '{print $2}')'/1024/1024 }')
ARCH=$(lscpu | grep Architecture  | awk '{print $2}')
RTC=$(dmesg | grep rtc0 | awk '{print $(NF)}')
HB_PCI=$(dmesg | grep '16c3:abcd')
HARDWARE=$(cat /proc/cpuinfo | grep Hardware | awk '{print $3}')
GMAC=$(dmesg | grep "sunxi_gmac-0:00")

# ARM
if [ "$ARCH" = "armv7l" ]; then
        if [ "$HARDWARE" = "sun7i" ]; then
                ID="Allwinner"
                if [ "$MEMTOTAL" = 2 ]; then
                        ID="Cubietruck"
                        else
                        if [ -n "$GMAC" ]; then
                                ID="Banana PI"
                                else
                                ID="Cubieboard"
                        fi
                fi
        fi
        if [ "$HARDWARE" = "Freescale" ]; then
                ID="Freescale"
                if [ "$MEMTOTAL" = 2 ]; then
                        ID="Cubox i4"
                        else
                        if [ "$HB_PCI" != "" ]; then
                                ID="HB i2eX"
                                else
                                if [ "$RTC" = "rtc0" ]; then
                                        ID="Cubox i2eX"
                                        else
                                        ID="HB i2"
                                        if [ "$CORES" = 1 ]; then ID="HB i1"; fi
                                fi
                        fi
                fi
        fi
fi

echo "" > /var/run/motd.dynamic
toilet -f standard -F metal  "$ID" >> /var/run/motd.dynamic
echo "" >> /var/run/motd.dynamic