Following http://mikeos.berlios.de/write-your-own-os.html