Xinu ("Xinu Is Not Unix", a recursive acronym) is a Unix-like operating system originally developed by Douglas Comer for instructional purposes at Purdue University in the 1980s. It has been ported to many hardware platforms, including the DEC LSI-11, Sun-2 and Sun-3 workstations, Intel x86, PowerPC G3 and MIPS. Xinu has been deployed in several commercial products, and continues to be used for operating system and networking courses at Universities around the world.

How to Build a xinu.boot File

  1. Login to one of the UB CSE 64-bit Linux systems.
  2. From Dennis Brylow's "Embedded Xinu" web page at Marquette University, download the latest xinu_mips-latest.tgz tarball to your home directory.
  3. Gunzip and untar the tarball:
    % gunzip xinu_mips-latest.tgz
    % tar -xvf xinu_mips-latest.tar
  4. Change directory to your ~/xinu_mips-1.5/compile/ directory:
    % cd ~/xinu_mips-1.5/compile
  5. Edit the mipsVars file that exists in this directory. Set MIPS_ROOT = /util/mipsel-dev/bin
    % vi makeVars
  6. Make sure your LD_LIBRARY_PATH shell variable contains /util/lib so your 'make' procedure will find the MPFR libraries:
    % printenv LD_LIBRARY_PATH

    If you need to set your LD_LIBRARY_PATH shell variable, either:

    1. Set the LD_LIBRARY_PATH environment variable from your command prompt:
      % setenv LD_LIBRARY_PATH /util/lib
    2. Set the LD_LIBRARY_PATH environment variable from within your .cshrc file. Then source the file to load its new settings into your current session:
      % vi ~/.cshrc
      % source ~/.cshrc
  7. Make clean:
    hostname {~/xinu_mips-1.5/compile} > make clean
  8. Make:
    hostname {~/xinu_mips-1.5/compile} > make
  9. If everything worked, you should now have a xinu.boot file:
    hostname {~/xinu_mips-1.5/compile} > ls -al xinu.boot
    -rwxr-xr-x  1 cwmiller csestaff 80996 Sep 17 14:13 xinu.boot


  1. Bina Ramamurthy's CSE 321 Embedded Systems course uses xinu_mips.