HeadlinesBriefing favicon HeadlinesBriefing.com

OpenBSD's Zaurus Journey: From CATS Board to Road Warrior Dreams

Hacker News •
×

In the late 1990s, Unix porting efforts splintered across platforms like the Acorn RiscPC and Atari Falcon. OpenBSD initially inherited ARM32 support from NetBSD's RiscPC port but abandoned it by 2001 due to lack of developer interest. The CATS board, a 1998 Simtec Electronics creation with an Intel SA-110 StrongArm processor, became a critical testing ground. Its PCI slots and IDE compatibility allowed developers to experiment with networking and storage, though firmware limitations—like Cyclone's inability to handle ELF binaries—plagued early OpenBSD efforts.

Dale Rahn, an OpenBSD ARM expert, began porting NetBSD/cats code in 2003 but faced immediate hurdles. After upgrading to the ABLE firmware, he encountered boot failures due to incompatible kernel formats. Debugging via serial console proved arduous, with ABLE's command-line interface earning mockery for its clunky navigation. Meanwhile, Rahn acquired a Sharp Zaurus SL-C860, a 2002 handheld with a physical keyboard and expansion slots. Customs delays and a mangled manual hampered his initial tests, but the Zaurus's GPRS support and CompactFlash slot hinted at road warrior potential.

Theo de Raadt later pushed to distribute discounted CATS boards to developers, recognizing their value for ARM porting. Despite ABLE's bootloader shortcomings, the board's modularity made it ideal for testing OpenBSD's ARM compatibility. The Zaurus port stalled due to hardware quirks, but the CATS board's legacy endured as a bridge between NetBSD and OpenBSD's ARM ambitions. These efforts underscored OpenBSD's commitment to niche hardware, even as consumer devices like smartphones eclipsed their road warrior vision.

The CATS board's role in stabilizing OpenBSD's ARM porting strategy remains a footnote in Unix history. Its PCI-based expandability and legacy NetBSD support provided a pragmatic path forward, while the Zaurus experiment highlighted the tension between idealism and practicality in embedded OS development.