I got a custom OS built on the latest vanilla kernel and busybox to boot in 10 seconds without changing any code - it hardly does anything - I just wondered where you get you 5 extra seconds from. It has to be the kernel - my initrd and x-startup (all parallel except network) takes less than a second, so all the time that is spent is in the kernel.
I just wondered what kind of stuff you did to the kernel to make it boot faster. Is there some smart stuff we can do to tweak it? Are some of the options real time consuming? Can you post a link to the .config?