# FreeBSD on Excito B3 (ARM) - worthwhile?



## totte (Jan 9, 2012)

Iâ€™m considering trying out FreeBSD out of sheer curiousity and that I am slightly more in agreement with its license rather than GPL.

For the record I use a MacBook Pro (OS X 10.6) and an Excito B3 with WLAN (Debian 6.0.3, Linux 2.6.38, armv5tel). I am familiar with ssh, zsh, vim, tmux, git and at a somewhat lesser extent Python, django, apache and MySQL. My interest lies mainly in web development and hosting. The B3 is for practice and would be the machine to install FreeBSD on. More information about the product in question can be found at the manufacturers website: http://www.excito.com/node/8

Below is more information regarding Linux kernel support for the B3.

*Mainline kernel patches*
From: http://wiki.excito.org/wiki/index.php/User:Asl:mainline-kernel_Mainline_kernel_patchs

â€œThe following three patches add support for the Bubb3 mini server to linux-2.6.38-rc8.
http://wiki.excito.org/wiki/images/3/32/0001-Kirkwood-Add-support-for-Excito-s-B3-miniserver.patch
http://wiki.excito.org/wiki/images/7/74/0002-phy-marvell-Add-basic-support-for-the-88E1116.patch
http://wiki.excito.org/wiki/images/...dd-support-for-inverted-LEDs-on-Bubba3-.patch"

*Porting Debian to the B3*
The following is an  e-mail from a Debian user to their mailing list. The endeavour was discontinued due to difficulties with the ARM â€œecosystemâ€ as he himself described it. (Some typos edited.)

_â€œI am considering to try and port Debian to the Excito B3. This is a small size, low consumption, Marvell Kirkwood-based home server.
...
B3s are provided with a pre-installed custom Debian, with a custom kernel and a specific web-based administration interface.
...
The kernel customization are for handling LEDs and switches, nothing very important for the beginning.

They boot using Das U-Boot, which is installed on flash banks, and configured to look for a kernel uImage on either:
â€¢ normal mode: internal SATA drive, first MS-DOS partition, Ext2/3 file system, a given path;
â€¢ rescue mode: external USB drive, first MS-DOS partition, FAT file system, a given path.

The only no-so-cool think I can see with the B3 is that its serial port is not very accessible, as it requires soldering.
...
So I think porting Debian simply means adapting flash-kernel to install the uImage to the right path, and building installation images for USB drives.
...â€_

I sent him an e-mail to hear what he learned about, well, ARM, and in short he explained (edited quote) that it lacks a standardization like that of the PC. Each model has its own customized way of booting and its own hardware with no way to discover what device is where. Thus, one new model almost implies one specifik kernel. As a consequence, an operating system can only support a handful of models that it has been specifically adapted to and no OS runs on ARM â€œgenericallyâ€.

*â€œRevertingâ€ to a minimal Debian installation*
I went another way in getting vanilla Debian on the machine - removing everything â€œExcitoâ€ except for the three packages needed for the machine to run (aside from the default selection installed by Debian). These are bubba-buttond (listens to the on/off button), bubba3-kernel and bubba3-modules. The process is written down here: http://wiki.excito.org/wiki/index.php/Revert_to_minimal_Debian_installation.

*My question is - what would it take and how difficult (for a novice like me) would it be to install FreeBSD on the B3?*
*Follow-up question - would it be more worthwhile to put together a DIY machine with an Atom processor instead?*

What with Raspberry Pi and all ARM seems like a lovely cheap platform for experiments, but perhaps it is not so.


----------



## totte (Jan 9, 2012)

I forgot to mention two things.

First off, I've been given (read) access to Excito's GitHub repositories, https://github.com/Excito. 

Second, the purpose of installing FreeBSD would be to acquaint myself with how to run the system, on a low power consumption and silent machine to keep in the wardrobe (that's pretty much all I ask for). I'm interested in hosting Python web applications (django, web2py and whatnot) with Apache, perhaps Nginx and run Dovecot and Exim or similar for e-mail functionality. Nothing serious, just for testing, learning and development.


----------



## phoenix (Jan 9, 2012)

If you are new to programming, especially kernel programming, then don't bother with an ARM board.  There's no official, Tier-1 support for FreeBSD on ARM in general.  There are some patches floating around to support some ARM SoCs in some routers and embedded boards, but nothing (that I know of) for general computing uses.

If all you want is a small, silent "server" to play with FreeBSD, then pick up an Intel Atom or AMD Brazos/Bobcat/whatever-they-call-it system.  It's x86, supports 64-bit, and you won't have to learn kernel programming to get things up and running.


----------



## totte (Jan 12, 2012)

I've played with the thought of buying something based on the Intel Atom, but it looks like it's going to have to wait until after I've gotten myself a new laptop.

Seeing as a lot of the code (although written for Linux) already exists, wouldn't that be a head start? What would the process to make a patch/patches look like outlined? At the risk of making a complete fool out of myself, C is still C, right?


----------

