#!/bin/sh
#
# .---.                  .              .
# |                      |              |
# |--- .--. .-.  .-.  .-.|  .-. .--.--. |.-.  .-. .--.  .-.
# |    |   (.-' (.-' (   | (   )|  |  | |   )(   )|  | (.-'
# '    '     --'  --'  -' -  -' '  '   -' -'   -' '   -  --'
#
#                    Freedom in the Cloud
#
# Hardware setup based on bin/freedombox-hardware-setup from freedom-maker
#
# License
# =======
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

PROJECT_NAME='freedombone'

export TEXTDOMAIN=${PROJECT_NAME}-image-hardware-setup
export TEXTDOMAINDIR="/usr/share/locale"

setup_flash_kernel() {
    if [ ! -d /etc/flash-kernel ] ; then
       mkdir /etc/flash-kernel
    fi
    echo -n "$1" > /etc/flash-kernel/machine

    command_line=""
    if [ -n "$2" ] ; then
        command_line="console=$2"
    fi

    if [ -n "$command_line" ] ; then
        echo flash-kernel flash-kernel/linux_cmdline string "$command_line" | debconf-set-selections
    fi

    apt-get -yq install flash-kernel
}

case "$MACHINE" in
    beaglebone)
        setup_flash_kernel 'TI AM335x BeagleBone Black' 'ttyO0'
        ;;
    beaglebonewifi)
        setup_flash_kernel 'TI AM335x BeagleBone Black Wireless' 'ttyO0'
        ;;
    cubietruck)
        setup_flash_kernel 'Cubietech Cubietruck'
        ;;
    a20-olinuxino-lime)
        setup_flash_kernel 'Olimex A20-OLinuXino-LIME'
        ;;
    a20-olinuxino-lime2)
        setup_flash_kernel 'Olimex A20-OLinuXino-LIME2'
        ;;
    a20-olinuxino-micro)
        setup_flash_kernel 'Olimex A20-Olinuxino Micro'
        ;;
    cubieboard2)
        setup_flash_kernel 'Cubietech Cubieboard2'
        ;;
    pcduino3)
        setup_flash_kernel 'LinkSprite pcDuino3'
        ;;
esac