Bei mir hat der Kernel pures Binärformat, das an eine fixe Adresse geladen wird. Ist unflexibel, aber da der Kernel den Memory-Manager enthält und außerdem an variable Adressen compiliert werden kann ist das egal.
Anwendungen sollten später natürlich ein "höheres" Format haben, obwohl ich alles darauf ausgerichtet habe, dass man auch flaches Binärformat verwenden kann, da ich jeder Anwendung einen eigenen Adressraum zur Verfügung stelle.