The Marquette University Department of Mathematics, Statistics and Computer Science Xinu Laboratory allows students to create and test operating system components on real hardware. Unlike simulated or emulated laboratory environments, the Xinu Lab loads kernel images from a frontend production machine directly onto backend test machines, where the operating system code is executed with no additional assistance. This "back to basics" approach serves to expose both the underlying complexity and beauty of modern computer hardware, without dumbing down or oversimplifying the interfaces that practitioners face at the lowest levels of operating system and driver development.


Xinu has run on many platforms in the past (DEC PDP-11, Motorola 68000, Intel x86, etc.,) but the Marquette Xinu Laboratory is the first installation based upon a modern RISC architecture port of Xinu.
The Marquette Xinu Lab features a pool of Embedded MIPS 32-bit backends running on the Linksys WRT54GL wireless router platform. Why simulate a MIPS processor, when you could be running one for real? See the Marquette Embedded Xinu Project Wiki for the latest information on our efforts. We also maintain a pool of PowerPC-based backends, in the form of Apple G3 and G4's.

The first release of Embedded Xinu was made public in July of 2007. See the Marquette Embedded Xinu Project Wiki for documentation and the latest information. [xinu_mips-latest.tgz] [xinu_mips-latest.tar.bz2]

Marquette Xinu Laboratory

Xinu Rack

Housed within the Systems Laboratory in Cudahy Hall, the infrastructure for our Embedded Xinu Lab fits into a single, standard 19-inch machine rack, with room to spare.
Pictured at left, the pool of WRT54GL wireless router backends stacks easily on the lowest shelf of the rack. Mounted above the backend pool is a dedicated ethernet switch for the private network. The Marquette University Linux Users Group server, "Mulug", resides in this rack also, from which the Marquette Embedded Xinu Project Wiki is served. Above the keyboard and monitor, "Kroll" (a Digi Etherlite serial annex) sports 32 serial ports we use to connect to the various backends. Mounted above Kroll is a KVM switch, and above the KVM is "Morbius", our gateway between the private and production networks. Morbius manages the backend pool through DHCP, TFTP, and daemons that track connections and offer remote console access.
Pictured in the background, Marquette's pool of PowerPC backends from an old-style Xinu Lab. Our new Embedded Xinu Lab does not require bulky monitors for each backend, nor do the students need direct access to the backend pool.

The Xinu Team

Team Xinu Group Picture
The Xinu Team in Summer 2011. From left, Jason Cowdy, Kyle Persohn, Matt Bajzek, Paul Spillane, Dr. Dennis Brylow, Anna Whitley, and Victor Blas. Not pictured: Mike Ziwisky.

Team Xinu Group Picture
The Xinu Team in Summer 2009. From left, Kyle Thurow, Dan Mahoney, Aaron Gember, Mike Schultz, Zachary Lund, Dr. Dennis Brylow, Ryan Berg, and Joe Pintozzi. Not pictured: Adam Koehler and Paul Spillane.

Team Xinu Group Picture
The Xinu Team in Summer 2008. From left, (front row), Adam Mallen, Aaron Gember, Zachary Lund, Justin Picotte, (back row) Adam Koehler, Kyle Jackson, Tim Blattner, Mike Schultz, and Dr. Dennis Brylow.

Team Xinu Group Picture
The Xinu Team at SIGCSE 2008, Portland, Oregon, Spring 2008. From left, Dennis Brylow, Paul Hinze, Aaron Gember, Adam Koehler, Justin Picotte, Zachary Lund, and Mike Schultz.

Team Xinu Group Picture
The Xinu Team at work in the Systems Lab, Summer of 2007. From left, Justin Picotte, Aaron Gember, Dennis Brylow, Paul Hinze, and Mike Schultz.

Aspects of the Embedded Xinu Project have been or are generously supported by Cisco Systems, the National Science Foundation (DUE-CCLI-0737476), and Intel Corporation.
The project has also received internal support via Marquette University's grants from the Wehr Foundation.

The Xinu Console Tools

The Xinu Console Daemon and various associated utilities provide network clients with connectivity to backend consoles that are really only connected directly to the console host. The xinu-console software package is now freely available for UNIX console hosts and front end clients. [Gzipped tarball], [Source RPM for Fedora Core].

Legacy Xinu

The Xinu operating system was first conceived by Professor Douglas Comer, as a research and instructional tool. Students at Purdue's Computer Science department continue to take courses with hands-on programming in the Xinu Laboratory, a facility with dozens of backend machines that can run student-compiled Xinu kernels on bare hardware. The Xinu Laboratory is an instrumental part of advanced courses on operating systems, networking, and internetworking at Purdue.
Despite its age, the Xinu operating system and its associated textbooks continue to be used at many other Universities around the world. The remainder of this page is dedicated to efforts to maintain the Xinu environment, despite rapid changes in available software and hardware.

The Xinu High Availability Controller

Jokingly referred to as the "High Availability" device, this circuit board allows an RS232 serial port to select any of up to 240 solid state relays, for the purpose of power cycling backend machines which have locked up while running student-modified Xinu kernels.
This circuit board was designed, fabricated, assembled, tested, and deployed at Purdue's West Lafayette campus. The prototype is in continuous use in the Computer Science building, and has been running with 6 boards, controlling over 80 backend machines, since spring of 2002. The information below is freely available for educational use.
The circuit board schematic was created with the assistance of the XCircuit package. Here is the netlist.
The circuit board layout was created with the assistance of the PCB package. We thank the maintainers of both PCB and XCircuit for their efforts. The circuit board silk screen is also available. Here is the component list.

Xinu / Linux patch

This patch allows the canonical FTP version of Xinu from Comer's latest textbook to be compiled on a RedHat or Fedora Linux system: [Patch File}.

Purdue-specific maintenance

Source code for the current Xinu Bootdisks can be found in the CVS repository under /p/xinu/cvs on Purdue CS departmental Unix boxen, in directory Xinu-BootDisk. Here is the README file for the latest version, based upon the linux 2.4.18 kernel boot code.
Source code for the current console tools, which allow remote frontend machines to establish connections to the serial consoles of the Xinu backends, can be found in the CVS repository under /p/xinu/cvs on departmental Unix boxen, in directory ConsoleTools. Here is the README file for the latest version, as well as the README for the new security extensions to the server.


Valid XHTML 1.0 Strict