Booting SPIN on iX86
October 29, 1997
Overview
We prefer to boot kernels over the network rather than from the local file
system as this drastically reduces the turnaround time of a build.
The idea behind network booting is that some server listens out on
the network for "bootp" requests on the same subnet. For the iX86 platform that server is
yakko, and it begins looking for kernels starting from /afs/cs/project.
Pathnames are specified relative to there.
If you've built a kernel, then just copy the kernel image
(.../spin/kernel/sal/i386_freebsd/compile/SPIN/kernel) to your project directory
(/afs/cs/project/spin/YOU/kernel). Most of us just make a symlink to our
build tree. Assuming you build in .../spin, this would be:
ln -s /spin/YOU/spin/kernel/sal/i386_freebsd/compile/SPIN/kernel /spin/YOU/kernel
( Note that there exists a symlink /spin -> /afs/cs/project/spin )
Using rconsole
We use rconsole to directly interact with the crash machines.
See the rconsole page for a current list. Crash machines have a serial line connection to an rconsole server. You can run rconsole from anywhere in the network, and connect to the appropriate rconsole server.
You connect via rconsole to one of the crash machines listed on the
rconsole page by typing:
% rconsole (machinename)
For example,
% rconsole loom12
Attempting to connect to loom12 (via /dev/ttyC12) ... Connected
Password:
rconsole: Type '^_{q|e}' to exit.
>>>
You will need to know the rconsole password. If you don't know it
already, you will have to talk to one of us in person, as we don't
send passwords via email. If all of them are taken you can zephyr to
spin-m3 and ask if someone could make one available, since people just
hang on to an rconsole. The escape sequence out of rconsole is
(contrl)(shift)(dash) and then the char "q".
Once you are at the boot prompt, which looks like:
>>>
>>> help
? this list
help this list
init restart netboot
exit restart netboot
halt restart netboot
bootp retry bootp broadcast
ip <addr> set my IP addr
server <addr> set nfs server IP addr
kernel <file> set boot filename
set <option> set boot flag
show show boot flag
unset <option> clear boot flag
b alias for boot
boot [ [-fi] filename ]
type
>>> b /spin/YOU/kernel
where YOU is YOU
This should boot spin over the network via http and/or nfs, and eventually you'll get to the spin shell. The spin shell has "!>" as its prompt.
Where to go from here?
Once you've booted, you can talk to the shell, or connect with the debugger.
- The Shell
- The SPIN CLI
- M3GDBTTD
- Debugging
- Alpha boot page
- If you're booting on the alpha
Copyright (c) 1997 The University of Washington. All rights reserved.
|