I am yet to try this (will do later), but having built a cross-compiler for my OS, I think this solution will work for cross-compiling from Linux to KolibriOS.
We basically follows this tutorial:http://wiki.osdev.org/OS_Specific_Toolchain
Replacing "myos" with "kolibri".
In the kolibri.h file (gcc/config/kolibri.h) we set STARTFILE_SPEC to "kolibri_head.o" and LINK_SPEC to "-T /kolibri/lib/kolibri.ld".
kolibri_head.o would be an ELF file containing a section called ".kolibri_head", which would contain the standard KolibriOS executable header, plus a starting point that would call main() and then exit.
The sysroot would be /kolibri. /kolibri/lib/kolibri.ld would be a linker script which links to a flat binary, placing the .kolibri_head section first, following by .text, .rodata, .data and .bss.
The result would be an "i586-kolibri-gcc" which can directly compile a C program to KolibriOS binary format.
Has anyone tried this? If not, I shall set that up later. According to the wiki, getting a cross-compiler was one of the goal for google summer of code 2016.