Embedded Xinu is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems. Its original goal was to re-implement and port the Xinu Operating System to several embedded MIPS platforms, such as the Linksys WRT54GL and WRT160NL routers. Since then, Embedded Xinu has been ported to other platforms, such as the QEMU-MIPSel virtual machine and the Raspberry Pi; see the list of supported platforms. Although Embedded Xinu is still being developed and ported to new platforms, a laboratory environment and curriculum materials are already in use for courses in Operating Systems, Hardware Systems, Embedded Systems, Networking, and Compilers at Marquette University and other locations.
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 Systems Laboratory in the Math, Statistics, & Computer Science department of Marquette University in Milwaukee, Wisconsin. The first major phase of work on Embedded Xinu began in the Summer of 2006.
Our project partners include Dr. Bina Ramamurthy at University of Buffalo (with whom we shared an NSF CCLI grant), Dr. Paul Ruth at University of Mississippi, and Dr. Doug Comer (father of Xinu) at Purdue University.
Teaching With Embedded Xinu
- For curriculum guidance on adopting or adapting Embedded Xinu for undergraduate coursework, see Teaching With Xinu.
- Workshops have been held regarding teaching with Embedded Xinu. For example, the Teaching With Embedded Xinu Workshop at ACMSE 2010 in Oxford, Mississippi (Ole Miss campus) shared ready-made curriculum resources that have been used successfully to teach hardware systems, operating systems, realtime/embedded systems, networking, and compilers with the Embedded Xinu platform at several colleges/universities.
Building an Embedded Xinu Laboratory
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.
- Obtain a supported platform.
- Modify the Linksys hardware or Modify the ASUS hardware
- Connect to a modified router
- Build Xinu
- Deploy Xinu
- (Optional) Build a pool of backends
- (Recommended) Backup your router's factory configuration
Other Embedded Xinu Information
- MIPS processor
- Main memory
- Exception and Interrupt Handling
- UART driver
- TTY driver
- Switch driver
- Flash memory
- Flashing firmware
- Enhanced Joint Test Action Group debugger
- Standard library
- XinuPhone Internet telephony
- Router Recovery aka "Debricking"
The Xinu Lab is brought to you in part by M&M's.