Main Page
Jump to navigation
Jump to search
Welcome to the XINU for Routers Main Page. This is for documentation for our development process that began in the summer of 2006.
As this is a wiki, you can sign up and begin adding and editing content, uploading images, and generating the needed documentation for our efforts.
Contents
About this Project
Guides to Replicate Our Work
In this section we are developing instructions so that other groups can benefit from the work we are doing. These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system.
Internal Documentation
Project Outline
- Goals
- Infect WRT54GL Routers with a XINU kernel
- Develop XINU to a point where it can control the router's basic functions
- Use this platform for a course in embedded systems and/or networking
- Hardware (Mod that LinkSys!)
- Why we add serial ports
- How we add serial ports
- Pictures of building
- Wiring Diagrams
- Chip Diagrams
- Software
- How to connect to a modified router
- Our Project's Directory Structure
- And then there was light: the Common Firmware Environment
- Interacting with the CFE Command Line Interface
- Fun freebies in the CFE API
- How code can Interface with CFE
- OpenWRT (When all else fails, steal it from Linux!)
- Important OpenWRT places of interest
- XINU (an O/S of our own)
More Research
- TODO: (concrete tasks)
- XINU Tasks
- Complete wired NIC driver.
- Start on wireless NIC driver and "RoboSwitch".
- Integrate XINU TCP/IP stack.
- XINU Tasks
- TOTHINK: (abstract goals and wishlists)
- Learn more about the memory structure and underlying hardware.
- How should the loader discover hardware parameters if CFE does not implement device enumeration?
- How do we safely access flash memory without bricking the router?
Useful Links
- http://www.openwrt.org
- http://linux.junsun.net/porting-howto/ - Linux MIPS Porting Guide
- http://www.version6.net/gallery/WRT54GL - WRT54GL Internals Pics Gallery
- http://en.wikipedia.org/wiki/WRT54G - WRT54G Wiki
- http://en.wikipedia.org/wiki/MIPS_architecture - MIPS Architecture
- http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gnu-linker/ - How To Write Linker Scripts
- http://www.embedded.com/shared/printableArticle.jhtml;jsessionid=0LLEHS3YT5KWUQSNDBCSKHSCJUMEIJVN?articleID=9900048 - Linux Porting Guide
- http://courses.cs.vt.edu/~cs2504/spring2006/MIPSDocs/MD00090-2B-MIPS32PRA-AFP-02.50.pdf - MIPS32 Architecture For Programmers