Re: Porting Kernel / Drivers to BeagleBoard

"Ithamar R. Adema" <[email protected]> Mon, 15 Dec 2008 19:54:02 +0100
Newsgroups gmane.os.openbeos.kernel.devel
Message-ID <[email protected]>
Hi Jim,

Jim Burnes wrote:
> I've been digging through the architecture and platform-specific code 
> for Haiku.  I made a bunch of notes which I'll post later.  Maybe if I 
> collect all of my notes into something intelligible I could turn it 
> into a Haiku Guide ("Porting Haiku").
Another option would be to blog about your progress (even about figuring 
stuff out) on the site, that's a nice intermediate way of not having to 
create a real document but still store and share the information 
collected....
> I've seen a number of Linux Porting guides.  Since Haiku and BeOS were 
> intended to be highly responsive for interactive multimedia streaming, 
> embedded Haiku could turn out to be a real hit in that market.  Most 
> embedded devices don't have huge software compatibility requirements 
> since they are often developed from scratch.  That means Haiku could 
> achieve significant penetration into these markets if we get one port 
> working well, with special attention to embedded needs.
BeOS itself was used in several media-specific special-purpose systems, 
TuneTracker is probably one of the last ones alive, though I could be 
wrong....
>
> I have a few questions after browsing through the source code.  (I'm 
> sure I'll have more)
>
> 1. Were you implying that we don't even need the Haiku boot loader and 
> could substitute u-boot -- or did you simply mean that we'd have to 
> interface u-boot to the Haiku boot loader?
U-Boot has support for loading binaries/datafiles into memory and 
executing them, so yes, it could even be possible to reuse that just to 
get started....
> 2. I've been trying to find how initial device settings are encoded at 
> compile-time.  It seems that there are several different ways:
>
>    a) the bad way:  someone hard codes it into the .c module
>    b) a better way: someone hard codes it into platform specific .h file
>    c) an even better way: in 
> /src/add-ons/kernel/drivers/graphics/nvidia/nvidia.settings for 
> specific add-on devices
>    d) best way: some sort of kernel.settings file as above which can 
> be overridden by boot loader arguments
>
> 3. I noticed that settings files are present in 
> /home/config/kernel/drivers/  ...   /something.settings.  Are these 
> generated at image build time or afterwards by the kernel?
Image generation time.
>
> 4. There's a get_driver_settings call that picks them up from 
> somewhere (a file apparently).  What if there's no file system?  Will 
> it pick them up from boot time arguments? 
The normal Haiku/BeOS bootloader has a way of specifying these settings, 
in the bootmenu. No way to save them, other then storing them on (some 
kind of) filesystem though AFAIK.
>
> 5. This just shows how little I've used Haiku lately, but is there a 
> way of specifying kerrnel arguments on the boot loader command line 
> like you do in linux?  eg: linux noapm acpi=off
See the above.

HTH,

Ithamar.

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/