Re: Porting Kernel / Drivers to BeagleBoard

"Ithamar R. Adema" <[email protected]> Tue, 02 Dec 2008 20:28:48 +0100
Newsgroups gmane.os.openbeos.kernel.devel
Message-ID <[email protected]>
Hi Jim,

Jim Burnes wrote:
> I'm interested in would take to create a Haiku port to the BeagleBoard 
> ARM8 Cortex architecture.
Another interesting ARM target indeed ;)
>
> I've read a few different message threads on an ARM port for NewOS, 
> but not much on Haiku.
Both Francois and myself have talked about it on and off, though 
Francois is quite busy with his m68k port, and I'm swamped with work in 
my own company, so not much has been done yet.
> The BeagleBoard is single board computer with an ARM8 Cortex CPU / 
> OMAP3530 architecture.
> It's clocked at 600 MHz /w 128MB onboard RAM and 256MB of NAND flash.  
> DVI-D / SVGA video out,
> Stereo in/out, USB 2.0 and RS-232.  It has an SD/MMC slot.  It has a 
> built-in NEON DSP and 2D/3D graphics.
> It costs about $150 US.
>
> It should be able to run a cross-compiled kernel and Haiku OS. 
True ;)
> This would be a significant amount of work, but maybe not impossible.
This is definitely also true ;)
> 1. You would have to port the kernel.  I've done some ARM assembler.
Actually, the amount of required assembly should be minimal. Actually 
knowing the ARM architecture (or learning it) inside out is more essential.
> 2. You would have to create keyboard / video / disk and perhaps USB 
> drivers.
Initially, I'd go for a simple console over the UART on the board, 
connected via NULL modem cable to your PC.... Much much easier.
> What other issues would you look at?  Probably some sort of custom 
> boot loader?
You could look into actually using u-boot for this. I presume (haven't 
checked) that there's a u-boot version available for this board, and 
this could be used to actually bootstrap the Haiku kernel by writing a 
small u-boot app.
> In addition to reading the kernel sources, is there a hackers, porting 
> or architectural guide to the kernel?
I don't think there is (if it is, I'd love to hear about it though :P) 
but a good place to start looking is the architecture specific 
implementations, here:

http://dev.haiku-os.org/browser/haiku/trunk/src/system/kernel/arch

Francois' m68k port might be a good start for a minimal implementation 
of an arch, but I'm sure he'll chime in with some feedback too ;)

One thing we're going to run into is support for multiple ARM cores, 
multiple System-on-chips containing these cores, and then support for 
the boards built using these System-on-Chips. It might be good to have a 
discussion on this setup before actually starting too much of the port, 
since I know Francois was looking at the FreeRunner as ARM target, and 
I've got a whole load of Evaluation Boards here containing all kinds of 
different ARM architectures that I would like to boot Haiku on.

Anyhow, thanks for your interest in this, and lets discuss this!

Ithamar.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/