Based on the text provided, here is a summary of the events surrounding the porting of OpenBSD to the PA-RISC (likely PA1.1) or ARM-based StrongARM platform (referred to as "CATS" - Compact Access Terminal System or similar custom hardware by Simtec), and the specific hardware/software issues encountered by the developers:
- Goal: Port OpenBSD to a new hardware platform (CATS board) featuring a StrongARM SA-110 processor.
-
Key Personnel:
- Miod Vallat (
miod): Received the board, encountered the initial hardware issues. - Tom Rahn (
drahn): Developed the early kernel/port code. - Gareth Simpson (Simtec): Managed the hardware manufacturing/boards.
- Marc Spitzer (
deraadt): Project maintainer. - Mickey: Contributed code and bantered with the team.
- Miod Vallat (
-
Jan 28: Tom Rahn shared initial progress. Cats boards shipped.
-
Feb 9: Miod received the board at his home address.
- Issue: Delivery required a signature; Miod had to go to the post office early in the morning to collect it.
- Humor: Miod joked about putting the "cat" in his car's trunk and leaving "milk" for it.
-
The Mistake: Simtec had tested boards at an overclocked speed (using a 4.91MHz oscillator) and forgotten to revert one to the nominal speed before shipping.
- The Result: One board (Miod's) arrived with the wrong 4.91MHz oscillator instead of the required 3.68MHz.
- Consequence: Running at 4.91MHz was unstable for general use, causing USB trouble and serial port issues.
- Resolution: Simtec apologized and arranged to ship the correct 3.68MHz module to Europe. They provided instructions to swap the socketed chip (U15) if a replacement wasn't immediate.
-
Secondary Issues (Firmware "ABLE"): The boards shipped with firmware version ABLE V1.70.
- Problem: This version didn't handle memory clocks correctly (default was 66MHz, but firmware needed 50MHz for serial ports to work). It also caused baud rate instability.
- Fix: Miod had to manually adjust hardware links (LK4/LK5) to set the memory clock to 50MHz, then update firmware to v1.79 or higher.
-
Kernel Debugger (
dumb): Due to thesetargsdefault arguments containing "dram", the system would boot directly into the debugger instead of the OS.- Fix: Users had to run
setargs ""or ensure the root device was specified correctly to avoid triggering the debugger.
- Fix: Users had to run
- CD-ROM Booting:
- Issue: The firmware's CD-ROM driver failed to recognize the drive or files (reporting "Drive Empty" or "ISO9660 magic number wrong").
- Workaround: Users had to physically open/close the tray and reset the board, or use specific firmware versions (1.88/1.89/1.91) to get PS/2 keyboards working and serial ports stable.
-
Floating Point Unit (FP): Early kernels had FP bugs causing crashes or strange behavior (like 6x slower OpenSSL). These were fixed later.
-
Developer Criticism: The OpenBSD team expressed frustration that Simtec (Simtec Engineering) referred to their firmware as an "ABLE bootloader" rather than firmware, despite it being critical low-level initialization code.
- Source Code Request: Mathtieu suggested giving the source code to Miod and others to fix, but Simtec appeared to be closed-source or using version control systems (CVS) the team didn't know how to use (
cvs -n upwas mentioned ironically). - Conclusion: Despite the bugs (serial garbage, keyboard failures, CD-ROM issues), the team managed to work around them by adjusting hardware jumpers and waiting for firmware updates (v1.88 -> v1.89 -> v1.91).
By February 12th, despite the hardware mix-ups and firmware bugs, the system was functional enough to: 1. Boot from CD. 2. Install the OS. 3. Generate SSH keys (taking ~30 minutes total). 4. Successfully SSH into the system.
The text ends with Miod noting that after fixing the floating point issues, OpenSSL ran 6 times faster than before the fix, joking that the machine was finally getting "fast."