FreeBSD/arm [Re: cvs commit: www/en index.xsl]

Scott Long scottl at samsco.org
Fri May 12 05:14:07 UTC 2006


M. Warner Losh wrote:
> arm was in 6.0
> 
> Warner

I think what John meant was that there is no release engineering for 
ARM.  You and I and several others have talked on and off about this
for a while, but I'd like to make it formal here....

Thanks to the work of Olivier Houchard, Warner Losh, John-Mark Gurney, 
and others whom I'm probably forgetting, FreeBSD is gaining a working
and viable framework for supporting the ARM platform.  However, saying
that ARM is supported is a complicated statement, unlike saying that
amd64 is supported.  With ARM, there is no one true commodity reference
platform.  Instead, there are choices of cores, buses, and peripherals.
Some systems are single chip with very specific components, some are a
bit more open and flexible.  Think of it as an a-la-carte system.  So,
saying that there is ARM support is not a universal statement and must
be qualified.  What FreeBSD provides for ARM:

- A toolchain capable of generating ARM binaries, kernels, and bootstrap
bits in both native and cross-compile modes.
- Basic bootstrap and operational support for ARM9 and some preliminary
support for XScale and StrongARM.
- Glue device support for a couple of specific prototype and development
ARM boards.  I believe that this includes PCI and PC-102 bus support.
- Device driver support for a specific selection of platform-specific
devices.

What these amount to is a framework that companies and hobbyists can use
to support the ARM9, XScale, and StrongARM solution of thier choosing.
Since every ARM system is different, there are likely to be pieces that
will need to be added and/or fixed in order to support a specific
system, but what exists now does work on at least one AT91-series system
and can be used as a functional model for other systems.

That this is a framework and not a complete platform, the normal FreeBSD
support model is different as a result.  Since there is no universal
consumer ARM platform, it is unlikely that there will be any release
engineering support.  There also is likely to be little, if any, package
building or documentation support, other than what interested developers
contribute on their own.  There is also not an expectation that the
general developer community will target ARM with feature additions or
changes that happen to other platforms.  I'm sure that every effort will
be made to keep API changes within the kernel and userland consistent
across all platforms, but the ultimate responsibility of keeping ARM
working lies with the developers that are interested in it.

That said, the ARM work has been growning almost exponentially in recent
months.  It is a very valuable addition to FreeBSD, as it opens our OS
to a much larger world of embedded appliances and applications.  FreeBSD
provides features such as netgraph that are unique among other embedded
OS's and provide value and opportunities for interested users.  So to
all those involved, bravo!

Scott



More information about the cvs-all mailing list