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.
About this Project
This is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems. Its goal is to port the XINU Operating System to the MIPS platform by specifically targeting LinkSys WRT54GL routers, with the hope that it can soon be used as the basis for classes on Operating Systems, Embedded Systems, and Networking classes.
The Embedded XINU project was conceived and is supervised by Dr. Dennis Brylow and is being conducted by both graduate and undergraduate students in the Math, Statistics, & Computer Science department of Marquette University in Milwaukee, Wisconsin. The first major phase of work on Embedded XINU took place in the Summer of 2006.
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. As our work develops further, there will be more XINU-specific information.
- 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!)
- How to connect to a modified router
- Our Project's Directory Structure
- And then there was light: the Common Firmware Environment
- OpenWRT (When all else fails, steal it from Linux!)
- Important OpenWRT places of interest
- XINU (an O/S of our own)
- 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?
- 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