#! /bin/sh
set -e
#set -x

. "$pkgdatadir/grub-mkconfig_lib"

version=""

machine_osloader=$(dmidecode -t 11|grep "String 4"|grep -E "PGUX|KVKA0") || true
machine_pangux=$( echo $machine_osloader | grep "PGUX") || true
machine_kvka0=$( echo $machine_osloader | grep "KVKA0") || true

if [ "x$machine_osloader" != "x" ];then
        mount -o remount,rw /boot/efi

        if [ -s /etc/initramfs-tools/conf.d/resume ];then
                resume_dev=$(cat /etc/initramfs-tools/conf.d/resume 2>/dev/null) || true
        else
                resume_dev=$(cat /etc/fstab |grep -v "^#"|grep swap|head -n 1| awk '{print $1}') || true
        fi

        if [ -n "$resume_dev" ]; then
                GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT resume=${resume_dev#*RESUME=}"
        fi
        GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT usbcore.autosuspend=-1"

        tmp=`dpkg -l | grep linux-image|grep -E "kr9.0|pangum900|pangu|rk3588"||true`
        if [ "x$tmp" != "x" ];then
                for i in /boot/vmlinuz-* ; do
                        if grub_file_is_not_garbage "$i" && [ ! -h $i ] ; then list="$list $i" ; fi
                done
        else
                list="/boot/kernel"
        fi

        while [ "x$list" != "x" ]; do
                linux=$(version_find_latest $list)
                basename=`basename $linux`
                dirname=`dirname $linux`
                version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
                if [ ! -e "$dirname/initrd.img-$version" ];then
                        list=$(echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' ')
                else
                        break;
                fi
        done

        # if [ "x$list" != "x" ];then
        #         linux=`version_find_latest $list`
        #         basename=`basename $linux`
        #         dirname=`dirname $linux`
        #         version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
        # fi
        
        original_dir=$(pwd)
        cd $dirname
        if [ "x$machine_pangux" != "x" ];then
                ln -fs "initrd.img-$version"  "initrd.img-pangux"   || true
                ln -fs "$basename"  "vmlinuz-pangux"   || true
        fi
        
        if [ "x$machine_kvka0" != "x" ];then
                rm -rf "initrd.img-pangux"   || true
                rm -rf "vmlinuz-pangux"   || true
        fi

        cd $original_dir
        cp "$linux" /boot/efi/EFI/BOOT/vmlinuz   || true
        cp "$dirname/initrd.img-$version" /boot/efi/EFI/BOOT/initrd.img  || true
        echo "\\EFI\\BOOT\\\vmlinuz" > /boot/efi/EFI/BOOT/OSLoader.cfg   || true
        echo "initrd=\\EFI\\BOOT\\\initrd.img root=UUID=${GRUB_DEVICE_UUID} ${GRUB_CMDLINE_LINUX_DEFAULT} ${GRUB_CMDLINE_LINUX_SECURITY}" >>/boot/efi/EFI/BOOT/OSLoader.cfg   || true
else
        echo "not pangux"
fi
