Booting SPIN
on the X86.

Boot Set-up

If you haven't already done so, you will have to do some set-up prior to booting your SPIN kernel.

Network Booting

At the UW we routinely boot the SPIN kernel on remote machines over the network. This allows the user to watch the boot process as it occurs and, if necessary, remotely debug the kernel. Doing this requires at least two machines and some set-up effort.

Once you have set up your crash box, rconsole client/server, bootp server, nfs server, and (optionally) your http server, you are ready to boot SPIN over the network.

  • To save some typing, you might want to create a symbolic link to your kernel image. For the following example I'll use /home/myspin/spin as the location of the SPIN tree.
    #cd /home/myspin
    #ln -s spin/kernel/sal/i386_freebsd/compile/SPIN/kernel kernel
  • Connect to your crashbox via rconsole. This will give you the >>> prompt.
    #rconsole loom16 (Replace loom16 with your crashbox name)
    Attempting to connect to loom16 (via /dev/ttyS0) ... Connected
    rconsole: Type '^_{q|e}' to exit.
    (Type return to see the prompt.)
  • Type the boot command followed by your kernel image. This is where the symbolic link comes in handy.
    >>> boot /home/myspin/kernel
    (This can be shortened to "b /home/myspin/kernel")

You should see a message something like this:

fetch myspin/kernel
Got /home/myspin/kernel. 1945600 bytes in 2 secs 7219 Kbps
Notice the IP address in the first line. This should be the IP address of the machine where your SPIN kernel is located. If it isn't then execute the "bootp" command. For more on the bootp command visit our FAQ page.

Momentarily SPIN should boot on your crashbox and you should see the boot messages displayed on your machine via the rconsole connection. If your kernel doesn't boot you should look at our FAQ page under "Common Boot Errors".

The boot process involves fetching a number of extensions from the machine where you built your spin kernel. These extensions are specified in spin/user/scripts/init.IX86_SPIN. The method for fetching the extensions is also specified in init.IX86_SPIN. By default the fetch method is set to NFS.

Once the boot process completes you will see the shell prompt. Which looks like this:

(140) loom16>
(Here the machine name is loom16. 140 is the strand ID number)

Now that you've booted your SPIN kernel, you can begin creating and running extensions.


Copyright (c) 1997 The University of Washington. All rights reserved.