#!/bin/bash

# Copyright (C) 2017-2018 Daniel Tartavel-jeannot   <contact@librepc.com>
# Copyright (C) 2019-2020 Jean-Baptiste Biernacki   <j.biernacki@free.fr>
#

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

#RPI partitionning :
DEFAULT=""
NEW_PART=n
PRIMARY=p
CHANGE_TYPE=t
CHANGE_BOOTFLAG=a
APPLY=w

PART_BOOT=1
PART_BOOT_FIRST_SECTOR=${DEFAULT}
PART_BOOT_SIZE="+128M"

PART_ROOT=2
PART_ROOT_FIRST_SECTOR=${DEFAULT}
PART_ROOT_SIZE=${DEFAULT}

TYPE_FAT32LBA=c

FDISK_SCRIPT="${NEW_PART}\n${PRIMARY}\n${PART_BOOT}\n${PART_BOOT_FIRST_SECTOR}\n${PART_BOOT_SIZE}\n${CHANGE_TYPE}\n${TYPE_FAT32LBA}\n${NEW_PART}\n${PRIMARY}\n${PART_ROOT}\n${PART_ROOT_FIRST_SECTOR}\n${PART_ROOT_SIZE}\n${CHANGE_BOOTFLAG}\n${PART_BOOT}\n${CHANGE_BOOTFLAG}\n${PART_ROOT}\n${APPLY}\n"


function preImgCreation()
{
    title "Creating Odroid XU3-XU4 image"
    return 0
}


function postPrepareChroot()
{
    #TEMPORARY CODE
    #copying kernel odroid not existing in mageia repos
    info "copying kernel-odroid and u-boot rpms in ${BUILD_PATH}/root"
    #echo "/bin/cp ${CONFIG_PATH}/kernel-odroid-4.14.y-1.armv7hl.rpm ${BUILD_PATH}/root/"
    /usr/bin/cp --preserve=mode "${CONFIG_PATH}/kernel-odroid-4.14.y-1.armv7hl.rpm" "${BUILD_PATH}/root/"
    #echo "/bin/cp ${CONFIG_PATH}/u-boot-20180507-3.mga7.armv7hl.rpm ${BUILD_PATH}/root/"
    /usr/bin/cp --preserve=mode "${CONFIG_PATH}/u-boot-20180507-3.mga7.armv7hl.rpm" "${BUILD_PATH}/root/"
    if [ ${?} -ne 0 ]; then
        error "line ${LINENO} error copying ${CONFIG_PATH}/kernel-odroid-4.14.y-1.armv7hl.rpm : exiting"
        exit ${ERR_1}
    fi
    return 0
}


function bunrningBootloader()
{
    if [ ${TARGET} = "odroid" ]; then
        info "installing blobs"
        pushd "${CONFIG_PATH}/sd_fuse"
        if [ ${?} -ne 0 ]; then
            error "line ${LINENO} error directory ${CONFIG_PATH}/sd_fuse does not exists : exiting"
            exit ${ERR_1}
        else
            ./sd_fusing.sh "${DEVICE}"
        fi
        pushd
    fi
    return 0
}

function copyingCustomSystem()
{
    ODROID_BOOT="${BUILD_PATH}/mnt/odroid_boot"
    if ! [ -d "${ODROID_BOOT}" ]; then
        rm -rf "${ODROID_BOOT}"
        mkdir -p "${ODROID_BOOT}"
    fi
    case ${TARGET_VERSION} in
        "xu4")
            info "copying u-boot for ${TARGET} ${TARGET_VERSION}"
            cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/${TARGET}-${TARGET_VERSION}/u-boot.bin" "${ARM_BOOT}/"
            ;;
    esac
    ### temporary code waiting inclusion of xu4 in Mageia kernel and u-boot

    info "Copying extlinux.conf on ${ODROID_BOOT}"
    cp --preserve=mode -R "${BUILD_PATH}/boot/extlinux" "${ODROID_BOOT}/"
    info "copying Mageia image to root partition"
    /bin/rsync -rlptogDH --exclude "${ODROID_BOOT}/" --exclude "qemu-arm-static*" "${BUILD_PATH}/" "${ROOT}/"
    /bin/rsync -rlptogDH "${ODROID_BOOT}/" "${BOOT}/"
    return 0
}

