create_efi_images () {
    rm -rf ./tmp/*
    mkdir -p ./tmp/boot/grub
    mkdir -p ./tmp/efi/boot/grub

    memdisk_img="./tmp/memdisk_img"

# Skeleton configuration file which finds the real boot disk.
    cat >"./tmp/efi/boot/grub/grub.cfg" <<EOF
set default=0
set timeout=3

search --file --set=root /.disk/info

menuentry "Orel LIVE" {
	set gfxpayload=keep
	linux	/boot/vmlinuz boot=live live-media-path=/boot config hostname=astra
	initrd	/boot/initrd
}
EOF
    (cd ./tmp/efi; tar -cf - boot) >"$memdisk_img"

    grub-mkimage -o ./tmp/efi/boot/bootia32.efi -O i386-efi -m "$memdisk_img" -p '(memdisk)/boot/grub'  search iso9660 configfile normal memdisk tar part_msdos fat

    grub-mkimage -o ./tmp/efi/boot/bootx64.efi -O x86_64-efi -p /efi/boot `find /usr/lib/grub/x86_64-efi/ -name *.mod | xargs | sed -e 's/\.mod//g'`

    size=0
    for file in ./tmp/efi/boot/boot*.efi;
    do
	size=$(($size + $(stat -c %s "$file")))
    done

    blocks=$((($size / 1024 + 55) / 32 * 32 ))

    mkfs.msdos -C ./tmp/boot/grub/efi.img $blocks >/dev/null
    mmd -i "./tmp/boot/grub/efi.img" ::efi
    mmd -i "./tmp/boot/grub/efi.img" ::efi/boot
    mmd -i "./tmp/boot/grub/efi.img" ::efi/boot/grub
    mcopy -i "./tmp/boot/grub/efi.img" ./tmp/efi/boot/boot*.efi "::efi/boot"
    mcopy -i "./tmp/boot/grub/efi.img" ./tmp/efi/boot/grub/grub.cfg "::efi/boot/grub"
}