Please delete the following thread
If you use the mach_kernel from the atv-bootloader repo, then it consists of an initramfs and kernel which looks for a GRUB configuration, finds the real kernel and initrd and kexec loads it.
For OSMC, I skipped this. You can find my patches here: https://github.com/osmc/atv-bootloader/commits/master.
I build the mach_kernel from the kernel zImage (which has initramfs embedded) as a postinst action when the kernel is updated. See https://github.com/osmc/osmc/blob/cc112bcf1ec11f386b6680354d287557c23f9337/package/atv-userland-osmc/files/etc/kernel/postinst.d/process-vmlinuz-atv.
You need to install the Darwin Cross Tools. You can build under arch as these tools are statically built.
Osmc development for AppleTv stopped about a year ago or longer I think
You could just take our 4.2 kernel.