How to port Linux on ARM platform?

Please provide generic concepts about porting Linux to ARM.