some refactoring, preserve multiboot info, and get page alloc ready