Hardware Support
What hardware will HelenOS run on? The idea of this article is to give an idea of what hardware to throw at HelenOS in order to make it boot and, possibly, do something useful. First we give an overview of machine types HelenOS can boot on, then we list individual peripherals it can take advantage of. It is meant to be short and comprehensible, rather than exhaustive.
Also, this is not meant to be a list of every obscure IC that HelenOS interacts with. Please avoid listing obscure devices that are an indivisible part of the platform itself (such as interrupt controllers).
Devices or platforms marked with (D) are only available in the latest development branch (i.e. the Git repository), not in an official release.
Devices or platforms marked with ® are only available in the latest stable release and their support was discontinued in the development branch.
Architectures
Overview of CPU architectures and supported platforms.
- amd64 BIOS-based PC
- arm32 IntegratorCP, FreeRunner, RaspberryPi, BeagleBoard XM, BeagleBone
- arm64 HiKey960, QEMU ARM Virtual Machine
- ia32 BIOS-based PC
- ia64 EFI (Dell PowerEdge)
- mips32 msim, MIPS Malta
- ppc32 Mac G3/G4
- sparc64 Sun Ultra 5/60/1500, Sun Fire T1000
Machines (real)
Real-world machines on which HelenOS can boot.
- IA-32 and AMD64-based PCs
- OpenMoko Neo FreeRunner smartphone
- BeagleBoard xM and BeagleBone
- HiKey960
- RaspberryPi
- Apple iMac G4 and iBook G4
- i460GX-based Itanium machines
- Sun Ultra 5, 60 and Blade 1500 workstations
- Sun Fire T1000
- eBox 2300
Machines (virtual)
Machines only existing in simulators on which HelenOS can boot (or machines on which HelenOS can only boot in a simulator).
- msim R4000 (MIPS)
- QEMU ARM Virtual Machine (ARM64)
- QEMU Integrator/CP (ARM)
- Ski (IA-64)
Display devices (real)
Run-time mode setting is not supported. HelenOS will make use of the graphical device's framebuffer to display graphics (or text) in the resolution the device was set to at boot time. On ia32/amd64 with a VESA-compatible graphics adapter the VESA bios is used to set a graphics mode at boot time.
Supported devices:
- VESA-compatible graphic cards
- EGA-compatible cards (text mode)
- Various display devices on OpenFirmware-based machines (Macs and Sun hardware) via their frame buffer
Serial consoles (virtual)
These provide a serial I/O line connected to a pseudo-graphical terminal which can be used to control HelenOS in the absence of a display and keyboard.
- Ski console
- msim console
Serial consoles (real)
- FreeRunner serial console
- SunFire T1000 serial console
- NS 16550 UART
- ARM PrimeCell PL011 UART
Keyboards
- PC keyboard on a PS/2 port
- Sun keyboard
- Apple ADB keyboard
- USB keyboard
Mice
- PS/2 mouse
- Apple ADB mouse
- FreeRunner touchscreen
- USB mouse
Ethernet adapters
- Intel Pro/1000
- NE2000
- Realtek RTL8139
- Realtek RTL8169
- virtio-net
Storage (real)
- ATA and AHCI SATA disk (on
ia32
oramd64
) - ATAPI CD-ROM (only the simulated one in Qemu), reported to work with real HW
- USB mass storage
Storage (virtual)
- virtio-blk
- msim ddisk
USB host controllers
- UHCI (USB 1.1)
- OHCI (USB 1.1)
- EHCI (USB 2.0)
- XHCI (USB 3.0)