Custom Linux: A Porting Guide

Porting LinuxPPC to a Custom SBC

Shie Erlich



          

Rafi Yanai

my partner in the porting process 

Avi Rubenbach

without whom this wouldn't be possible 
Revision History
Revision 2.12003-03-08gjf
Modified code example per author
Revision 2.02002-06-13tab
Added GFDL per author
Revision 1.02002-05-13SE
Initial release

Table of Contents

1. Introduction
1. Who needs to read this ?
2. What do I need to know (why so much) ?
3. The tools
4. The hardware
5. Copyright & License
2. Bootcamp: How To Begin ?
1. Creating a development environment
2. Compiling the first kernel
3. Booting the machine
3. Booting In The Dark
1. Debugging with print_str()
2. Modifying code using compiler flags
3. Getting the console to work
3.1. Forcing the kernel to boot our-way
3.2. Non-standard hardware - just say no!
3.3. Let there be light: calculating baud rate
4. Linux Still Isn't Booting
1. Memory probing, RTC and decrementors
2. Big-little endian (we should have known)
2.1. Probing the CPC700
2.2. Making CPC700 speak little-endian
3. Ethernet: our first PCI device
4. Some Miscellaneous Issues
5. Linux Is Booting ... What Now ?
1. The 64 bit barrier
2. Booting from flash
A. GNU Free Documentation License
1. PREAMBLE
2. APPLICABILITY AND DEFINITIONS
3. VERBATIM COPYING
4. COPYING IN QUANTITY
5. MODIFICATIONS
6. COMBINING DOCUMENTS
7. COLLECTIONS OF DOCUMENTS
8. AGGREGATION WITH INDEPENDENT WORKS
9. TRANSLATION
10. TERMINATION
11. FUTURE REVISIONS OF THIS LICENSE
12. How to use this License for your documents
B. Trademarks