Before attempting to port Linux, know at least the following: (whenever possible, a link to a proper information source is attached)
Hardware: know what hardware you've got, how it works (if it works), and how is it initialized. Get all the hardware manuals you can - you'll probably need them. Also, never assume the hardware works the way it supposed to ! Hardware people do the darnest things :-(
Basic understanding of drivers and how they work in Linux. Programming knowledge of simple drivers is an advantage - but not a must. http://www.tldp.org/HOWTO/Module-HOWTO/index.html
How to work with Vision-ICE, how configure it and use it to load a binary kernel into the target RAM. Also, at the beginning, you'll need to know how to use ICE to debug in assembly.
How to compile and configure a Linux kernel. http://www.tldp.org/HOWTO/Kernel-HOWTO.html
The Linux boot process. http://www.tldp.org/HOWTO/BootPrompt-HOWTO.html
Working knowledge of C programming is a must. Some assembly is sure to help. Also, it is best to get to know Makefiles. They tend to raise their ugly head once in a while.
The Internet is your friend. All the information you need is probably on the net. You just have to know how to find it. Google is a good way to start; mailing lists and news groups usually keep the real gold.
How to install Linux, configure it, administrate it and basically take care of everything it needs. This guide does not cover anything regarding system administration, setting up a server etc.