starting rewrite using GCC, kernel boots and that's about it