Installing and Building SPIN
for the X86
Applicability This document is designed for anyone wishing to obtain, build and run the X86 version of the SPIN Operating System. The document covers setting up your build environment, getting the SPIN sources, building, and booting SPIN. Information on other aspects of SPIN can be obtained on the web at: http://www.cs.washington.edu/research/projects/spin/www/. Overview The first stage of this process is building the SRC Modula-3 release 3.6. To do this you will retrieve three tar.gz files via ftp. You will then run m3build and m3ship to build and install Modula-3. All of this is described below. Next you will install and build some auxiliary tools that are required to build SPIN. These are available from the SPIN distribution site as a single tar.gz file. The last step outlined in this document is building SPIN itself. This is actually the least complicated portion of the entire process. At the end of this process you will have a fully built SPIN kernel. The next step is booting this kernel. System Requirements
The x86 version of SPIN needs at least a Pentium/PentiumPro class
processor. The operating system uses features that are not available on
468 and below processors. We have only tried running SPIN on Intel
Pentium and PentiumPro processors. Whether SPIN will work with x86
processors from other vendors is unknown.
The fully built spin tree takes up ~220MB of disk space. This is a lot of space but if you are building SPIN on more than one machine, you only need one fully built tree. Other users can get by with a subset of the full tree. This is described later in the description of FULLTREE in below. Please note that the version of libc (glibc-2.0.x aka libc-6) that comes with some of the newer Linux distributions is not compatible with the Modula-3 compiler used to build SPIN. For this reason you need to use as earlier version of Linux that includes libc-5. Redhat version 4.2 is known to work.Setting Up Your Environment Install Linux The build environment for X86-SPIN is currently Linux. This document was prepared using Redhat's distribution of Linux. This is not to say that other distributions won't provide the necessary environment. Please note that the newer version of libc (glibc-2.0.x aka libc-6) is not compatible with the Modula-3 compiler used to build SPIN. For this reason you need to use a pre 5.0 version of Linux that includes libc-5. Version 4.2 is known to work. The first thing to do is install Linux on your machine. Be sure to install the development tools so that your system has all the libraries and binaries for the build environment. Install and Build Modula-3 from SRC The Modula-3 distribution comes as three tar.gz files. You can either download them from one of the sites listed below or you can download them from our site by clicking on the file names a little further below. You should choose the location nearest you.
The files are:
The rest of these instructions for building Modula-3 are derived from those provided by Digital at http://www.research.digital.com/SRC/modula-3/html/install-POSIX.html.
# gunzip < boot-LINUXELF.tar.gz | tar xf - # rm boot-LINUXELF.tar.gz # mv m3cc boot-LINUXELF Now you are ready to build.
# cd boot-LINUXELF setenv PATH $PATH:/usr/local/bin If you change your .cshrc (or .tcshrc) file, you will need to reload it into your shell, and then run "rehash" to notify the shell of the changes to PATH. # source ~/.cshrc # cd ../
# cd m3 Installing and Building the bsdtools Now you need to get the Linux->FreeBSD cross development tools. Some of these were created here at the UW, others might be available from the internet. Again, this step is only needed as long as we are doing development on Linux. In the future this will not be a requirement. These tools are available as a single tar.gz file from our distribution site.
Install and Build SPIN
Install If you already downloaded the SPIN sources you can skip down to the Pre-Build Modifications. For the rest of these instructions, I'll pretend that the SPIN source tree will be installed in /home/myspin/.
Directory Structure As an example, I'll pretend that the SPIN sources are installed in /home/myspin/. This is what your SPIN tree should look like at this point. /home/myspin | spin | ------------------------------------------------------------ | | | | | | | various files mke.conf doc/ local/ kernel/ user/ x86_docs/
Build SPIN
The next step is to perform some set-up prior to booting your kernel.
Cleaning Commands Note: This is not part of building SPIN.
Copyright (c) 1997 The University of Washington. All rights reserved. |