Juste one question for the moment: what do u mean by "recovery working"? A custom recovery like CWM is required. We can't flash from stock recovery, right?
This is the same for custom rom.
But I know that for some kernel/device, you can flash kernel from stock recovery so...