Computer Science Department
15-410 Crash Machine
The Crash Machine
The "crash box" is
a PC designed for 15-410 kernel testing. The machine
(CMU asset #101038) contains two 400 MHz Pentium-II Xeon
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
Wikipedia: Intel APIC Architecture).
The machine also contains a "POST card", a device which
can be (ab)used for low-level kernel debugging
Wikipedia: POST card).
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
- 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
appear between two
- The two buttons on the display allow you to
scroll forward and back through the
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 the hallway outside Professor Eckhardt's office,
Support for the machine will be provided by
Running Your Kernel
This machine is too old to boot from USB media.
In theory it will boot a floppy disk, and it will
boot a CD-ROM / CD-R / CD-RW containing an
"El Torito" floppy-disk image.
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 "Legacy USB" on some machine you have so you
can boot Pebbles kernels,
you probably want to remember to
disable it again later.
Booting from a floppy disc
- Obtain a floppy disc.
- 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
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.
A couple of tricks can slightly improve boot speed.
- First, use the reset button (on the left side of the front panel)
instead of the power button.
Second, once the BIOS splash screen is drawn, watch the row of
lights on the upper right of the keyboard: they will all blink
on and then off, which means that the BIOS has initialized the
keyboard. When that happens, press the spacebar (once is enough).
This will cause the BIOS to switch to "hurry-up" mode,
in which it skips some tests and degrades the
quality of others.
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 may well wish to take advantage of.