Carnegie Mellon

Computer Science Department |
 |
 |
 |
 |
 |
 |
 |
| |
|
|
15-410 Crash Machine
The Crash Machine
On an experimental basis
Cluster Services
is hosting
a PC designed for 15-410 kernel testing. The machine
(CMU asset #101038) contains two 400 MHz Pentium-II Xeon
processors,
512 megabytes of RAM, a floppy drive, and a CD-ROM
(no disk or network).
The boot process runs on only one processor and the
second processor remains inactive unless explicitly
enabled
(see
Wikipedia: Intel APIC Architecture).
The machine also contains a POST card, a device which
can be (ab)used for low-level kernel debugging
(see
Wikipedia: POST card).
Basically, outb()'s directed to port
0x80 will be displayed in hexadecimal
on the front of the machine.
This particular card has the following features:
- The most recent two bytes of status are displayed.
The most recent byte is on the left, and
the byte before that is on the right. So if you
outb(0x80,0xce) and then later
outb(0x80,0xfa) the display will
read face.
- The card can't accept multiple status bytes in
rapid succession; if you send values too quickly
the card will "catch" only the last. Empirically
it seems to work if 512
inb(0x80)'s
appear between two outb()'s.
- The two buttons on the display allow you to
scroll forward and back through the
outb()
stream. If you hold both of them down for a while
odd things which aren't very useful will happen.
The crash machine is located in GHC 3000.
Support for the machine will be provided by
.
Running Your Kernel
Since this machine is too old to boot from USB media,
you have two options for running your kernel.
Note that your kernel won't work on machines with USB
keyboards... except that some such machines have a "Legacy
USB" option you can enable in the BIOS.
If you enable this, you probably want to remember to
disable it again later.
Booting from a floppy disc
- Obtain a floppy disc. The machine will be deployed
with some; please try not to walk off with them.
- Run: dd if=bootfd.img of=/dev/fd0 bs=1440k
(if for some reason you need to use a Windows machine to
write a floppy, try
RaWrite).
Booting from an optical (CD-R/CD-RW) disc
- Obtain a CD-R or a CD-RW. The machine will be deployed with a CD-RW; please try not to walk off with it. If somebody else has walked off with (or scratched to death) the CD-RW deployed with the machine, send mail to the staff mailing list.
- mkdir burn
- cp bootfd.img burn
- mkisofs -r -b bootfd.img -o bootcd.iso burn
- cdrecord blank=fast dev=/dev/cdwriter bootcd.iso (if you are using a CD-R instead of a CD-RW, skip the blank=fast parameter).
If you run into trouble burning your CD, try adding
speed=0 and/or driveropts=burnfree.
How Mandatory Is This?
We will grade your kernel based on its performance in
Simics. However, the crash box is a useful diagnostic
tool you will probably wish to take advantage of.
|