Genesi Home Home Projects Forums
Login
Username:

Password:

Remember Me
 
[Register an Account]

Developer Programs
i.MX515
Power2People MPC8610

Efika 5200B

Search Projects

Google

i.MX515 Project
Haiku Operating System port to ARM architecture

in category Operating Systems
proposed by François Revol on 13th February 2009 (accepted on 24th August 2009)

Project Summary
The goal is to port Haiku to the ARM architecture, specifically the i.MX515.

Haiku is a MIT-licenced Free Software Operating System inspired by the BeOS.
It currently focuses on x86 architecture for R1/alpha, but has also been ported to PowerPC (primarily Pegasos and Mac targets; currently builds but requires fixing), and a port to the m68k architecture has been started by myself to demonstrate the portability of the OS.

Haiku has been developed for desktop systems, but its lightweight design inherited from the BeOS and low system requirements makes it suitable for smaller devices. The current trend in embedded systems, led by System-on-a-Chip platforms like the i.MX515, is also often referred to as "mobile desktop", which reinforces their validity as target platforms for Haiku.

The Haiku GUI is clean enough to be usable on devices where screen size matters:

And should even be usable on PDAs with little modifications, as demonstrated by this mockup:


The modular design used within Haiku also calls for interesting uses of the unique features of the i.MX515 processor, like hardware accelerated image decoders with the Translation Kit, and hardware accelerated video and audio decoders using the node-based Media Kit. Here is a view of the media nodes as displayed in the Cortex application, including the node I wrote that interfaces with our port of OpenSound System v4:


The project would include:
  • Adapting the Haiku bootloader to the ARM architecture and available firmwares by :
    • adding ARM bindings to the existing OpenFirmware support and/or
    • adding U-Boot support
  • Support for the ARM architecture at the kernel and user levels with C and minimal assembler code:
    • Synchronization primitives (spinlock,atomic ops)
    • Interrupt and context switching trampolines
    • timer management
  • Support for the Cortex-A8 mmu needed by the kernel.
  • Support for booting from an external device using OpenBFS, then optionally from internal board Flash memory with a flash optimized file system or adapted OpenBFS.
  • Basic GUI support
    • Framebuffer or 2D accelerated graphics
    • External input device through USB or minimal internal input device support.
  • Basic ethernet connectivity
  • A sample Media Kit node add-on providing hardware accelerated decoding of one or more of the i.MX515 supported codecs.

Project Blog Entries

No blog entries for this project

PowerDeveloper.org: Copyright © 2004-2010, Genesi USA, Inc. The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org. All other names and trademarks used are property of their respective owners. Privacy Policy