I downloaded AOSP from http://source.android.com & follow the steps of building the system as it mentioned.Got system.img and other img files in the building process of the code. Then I fastboot system img to my android htc desire s device. it installed successfully. But when device reboots, it gets stuck in htc logo. I also tried installing imgs in many different ways. nothing worked.

As cyanogenmod & other designing companies have created a custom roms for htc desire, I would like to know how they have solved that issue.
What can be the reason for this. Same code works fine in emulator. I saw that AOSP only works in Google nexus devices. For other devices, in order it to work properly need to have drivers (proprietary binaries). Is that true? If so how can I create my own custom rom by using AOSP?

Really appreciate any positive reply on this.