Firstboot needs an X server. Two possible fixes are - cheat and don't do early-login on the first boot, by looking at the stamp file which firstboot uses for that purpose. - make firstboot start an X server
It turns out that firstboot already contains code to start an X server, it just needs some little fixes, and then firstboot can just be moved earlier in the boot sequence.
Created attachment 113164 [details] firstboot-1.3.39-early-login.patch
Ok, scratch that. Firstboot needs network. Here is a modified gdm-early-login initscript which simply bails out if it finds that firstboot will run.
Created attachment 113181 [details] the initscript
Should be fixed in gdm-2.6.0.8-4.