Half of the reason I posted the follow up of saying I figured it out without sharing what I did was because I was frustrated with this problem and the other half is because I wasn't necessarily the one who figured out the solution lol. I also like how after I say I figured it out I get a bunch of responses. Anyways, I got pretty close to figuring it out and had a general idea of a way to get it to work but just didn't know how to. Had someone from our OS team take a look at it and they were able to find a solution. They said they would make step-by-step instructions when they had time but haven't yet provided it. What I can give you guys is a tree of the working directory and files. We used the base TinyCorePure64 14.0 iso provided on the tinycorelinux download page, along with some extra boot configs that you will see. It originally supported MBR boot as well but I trimmed that off since I just needed UEFI only boot. After creating the iso change the user permissions if needed and burn it to a CD (I used brasero). This was all done in Linux.
tree *
TC_14
├── boot
│ ├── corepure64.gz
│ ├── isolinux
│ │ ├── boot.cat
│ │ ├── boot.msg
│ │ ├── efiboot.img
│ │ ├── f1
│ │ ├── f2
│ │ ├── f3
│ │ ├── f4
│ │ ├── isolinux.bin
│ │ ├── isolinux.cfg
│ │ └── menu.c32
│ └── vmlinuz64
├── cde
│ ├── copy2fs.lst
│ ├── onboot.lst
│ ├── optional
│ │ ├── aterm.tcz
│ │ ├── aterm.tcz.md5.txt
│ │ ├── bzip2-lib.tcz
│ │ ├── bzip2-lib.tcz.md5.txt
│ │ ├── fltk-1.3.tcz
│ │ ├── fltk-1.3.tcz.md5.txt
│ │ ├── flwm.tcz
│ │ ├── flwm.tcz.md5.txt
│ │ ├── freetype.tcz
│ │ ├── freetype.tcz.md5.txt
│ │ ├── glib2.tcz
│ │ ├── glib2.tcz.md5.txt
│ │ ├── graphite.tcz
│ │ ├── graphite.tcz.md5.txt
│ │ ├── harfbuzz.tcz
│ │ ├── harfbuzz.tcz.md5.txt
│ │ ├── imlib2-bin.tcz
│ │ ├── imlib2-bin.tcz.md5.txt
│ │ ├── imlib2.tcz
│ │ ├── imlib2.tcz.md5.txt
│ │ ├── libffi.tcz
│ │ ├── libffi.tcz.md5.txt
│ │ ├── libfontenc.tcz
│ │ ├── libfontenc.tcz.md5.txt
│ │ ├── libICE.tcz
│ │ ├── libICE.tcz.md5.txt
│ │ ├── libjpeg-turbo.tcz
│ │ ├── libjpeg-turbo.tcz.md5.txt
│ │ ├── libpng.tcz
│ │ ├── libpng.tcz.md5.txt
│ │ ├── libSM.tcz
│ │ ├── libSM.tcz.md5.txt
│ │ ├── libX11.tcz
│ │ ├── libX11.tcz.md5.txt
│ │ ├── libXau.tcz
│ │ ├── libXau.tcz.md5.txt
│ │ ├── libxcb.tcz
│ │ ├── libxcb.tcz.md5.txt
│ │ ├── libXcursor.tcz
│ │ ├── libXcursor.tcz.md5.txt
│ │ ├── libXdmcp.tcz
│ │ ├── libXdmcp.tcz.md5.txt
│ │ ├── libXext.tcz
│ │ ├── libXext.tcz.md5.txt
│ │ ├── libXfixes.tcz
│ │ ├── libXfixes.tcz.md5.txt
│ │ ├── libXfont.tcz
│ │ ├── libXfont.tcz.md5.txt
│ │ ├── libXmu.tcz
│ │ ├── libXmu.tcz.md5.txt
│ │ ├── libXrender.tcz
│ │ ├── libXrender.tcz.md5.txt
│ │ ├── libXt.tcz
│ │ ├── libXt.tcz.md5.txt
│ │ ├── pcre.tcz
│ │ ├── pcre.tcz.md5.txt
│ │ ├── wbar.tcz
│ │ ├── wbar.tcz.md5.txt
│ │ ├── Xfbdev.tcz
│ │ ├── Xfbdev.tcz.md5.txt
│ │ ├── Xlibs.tcz
│ │ ├── Xlibs.tcz.md5.txt
│ │ ├── Xprogs.tcz
│ │ └── Xprogs.tcz.md5.txt
│ └── xbase.lst
└── EFI
└── BOOT
├── BOOT.conf
├── BOOTX64.EFI
├── fonts
│ └── unicode.pf2
├── grub.cfg
├── grubx64.efi
├── splash.png
└── x86_64-efi
├── gfxterm_background.mod
├── gfxterm.mod
└── png.mod
Here is the command used to build the iso (might have to run as sudo depending on file permissions):
xorriso -as mkisofs \
-iso-level 3 \
-r -V ISO_VOLUME_LABEL_NAME \
-o ISO_NAME.iso \
-b boot/isolinux/isolinux.bin \
-c boot/isolinux/boot.cat \
-boot-load-size 4 -boot-info-table -no-emul-boot \
-eltorito-alt-boot \
-e boot/isolinux/efiboot.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
DIRECTORY_WITH_FILES (in my case TC_14)
Our efiboot.img also seems to be a bit different so here's the output of running the file command on it:
efiboot.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, reserved sectors 4, root entries 512, sectors 19684 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 20, sectors/track 32, heads 64, serial number 0xcea92b30, unlabeled, FAT (16 bit)