Only map the early kernel memory needed

There is no need to map so much data, we can get by with just a
few pages. This is safe as we allocate 32 MiB in the loader, but I
would prefer we don't rely on this as it may change.