2. What do I need to know (why so much) ?

2. What do I need to know (why so much) ?

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.