 One needs a way to generate the first binaries until the system is "self-hosting".This can be done via compilation on another system capable of building binaries for the intended target (possibly by cross-compilation).For example, see Linux From Scratch.