Hey Stevester. I'm not sure why it would fail. But of course there can be small differences between native second stage and doing it emulated.
It is good to be aware of one thing: qemu is able to run in to modes: system and user. If run in system mode, a kernel is required, which is booted with the appropriate rootfs. In user mode, which is the mode I use for the second stage install, is nothing like that. No kernel is booted. Using the binfmt_misc functionality, qemu-linux-user is started when executing an alien binary, much like /bin/bash would be automatically started when you would execute a script file. In user mode binary code is directly emulated and system calls are directly emulated/translated to the host kernel.
Running alien binaries becomes now truly transparent.
So, in user mode, when doing a uname -a, you will get the host's kernel version. 🙂
What you can do is for now run make menuconfig and switch off second stage install with qemu. Everything will behave like it normally would. You can test if your problems are caused by the qemu or if it is something else. Second you could put the rc.firstboot back in place and boot and investigate from there.
Let me know if something is wrong with the qemu second stage.