#!/bin/sh
TARGET=/boot/efi/EFI/linux
VER=$1
[ "$VER" ] || VER=$(uname -r)
mkdir -pv "$TARGET"
cp -pv /boot/vmlinuz-$VER "$TARGET/linux.efi"
cp -pv /boot/initrd.img-$VER "$TARGET/initrd.img"
DEV=$(awk '/\/boot\/efi/{print $1}' /proc/mounts)
ENTRY="initrd=EFI\linux\initrd.img $(sed 's/BOOT_IMAGE=\S*\s*//' /proc/cmdline)"
for e in $(efibootmgr|awk -F'[ *]' '$2=/linux/{print $1}'); do efibootmgr -B -b ${e#Boot}; done
efibootmgr -c -d $(echo $DEV|sed 's/[0-9]\+$//') -p $(echo $DEV|sed 's/.*\([0-9]\+$\)/\1/') -l "\EFI\linux\linux.efi" -L "linux" -u "$ENTRY"
