Today you always have some sort of compiler or cross compiler. Starting totally with nil (not even an assembler) is really not so simple.
This little article shows nicely, how bootstrapping can work. Pulling myself out of the mud on my own hair (like the Baron Muenchhausen from literature).
But don't forget: He still had the operating system not bootstrapped ... so repeating the whole computer history would need some more bootstrapping to do ....