Mira en esta pagina te enseñan los basico para bootear. Al final hay un ejemplo para botear algo con c.
http://hem.passagen.se/danma/nboot.htm Deberias saber sobre assembler.
Los compiladores corren sobre sistemas operativos, y generan codigo para ese sistema operativo. Si compilamos para windows no va a funcionar en Linux y mucho menos sin OS.
Con respecto a la pantalla te recomiendo esta otra pagina
http://www.jamesmolloy.co.uk/tutoria....-Genesis.html basicamente en la pagina contruye un mini kernel..pero toca algo de pantalla. Te puede servir.
Con respecto a actualizar, a mi se me hace muy facil actualizar programas en linux. Depende de la distribucion pero la mayorias tienen repositorios que con un solo click se te actualiza el sistema completamente.