RE: Beagleboard and the different Linux distros

Hello Jason,

My compatriot has given your name as the "go to" guy WRT the Beagleboard and Linux. Presently,
I have just a couple of rudimentary questions about the available Linux distros for this board
(I'm aware of Angstrom, Ubuntu and Emdebian) and am wondering if you could help.

I like to think I add some value, but sometimes it is difficult to get my attention and there is a community out there around the BeagleBoard where many people know a lot more than me.

I'm most familiar with Debian, and so downloaded the pieces and parts to build it. Upon looking
into the "how's" of getting the root filesystem onto an SD card, I discovered that Emdebian
butchered (IMO) Debian in the process of creating the distribution, e.g. they stripped Perl
from it. The Angstrom distro loaded on the SD cards used at the ESC in Boston appear to have
Perl 5.8.8 on board.

I'm not very familiar with Emdebian. I know that the Ubuntu for ARM builds include Perl, so you might have a happier time there.

Question 1: If I just dump the Emdebian uImage and kernel modules onto that filesystem, will
I have a usable board? The Emdebian kernel build process is more straightforward to me - it's
just like a PC based distro kernel config and compile. Angstroms' OpenEmbedded seems kind of
cumbersome, to me. That was another reason why I shied away from that one.

There are many people using the kernel patches in Angstrom (would be nice if they were mainline), so you won't be alone. You might also use the pre-built kernels from the Angstrom demo images [3]. I'm tempted to put the patches into a GIT tree myself, but I fear people over-utilizing it and having the wrong expectations.

I don't like to recommend people to go other places than the linux-omap git tree [1], but, if you are looking to pull in patches that aren't accepted yet, you might look to pull patches from the PSP git tree [2] or the OMAP Zoom git trees. For the DSS2 patches, which is a big part of the patches in the Angstrom kernel, I pull them directly from Tomi [6].

What I actually do for kernels is pull linux-omap and then manually apply the Angstrom patches and use git-cherry-pick for any patches that show up on other trees. I look at the recipe to get the list of patches in OE via cgit [7] and pull them down and use git-am for patches not in the other trees. To cherry-pick, I just match the comments.

Question 2, completely disregarding the aforementioned, what distribution would YOU recommend?

I'm personally a Gentoo user on the desktop and server. Depending on what you are doing, that could be a good choice for your BeagleBoard as well.

If you are looking for a easy-to-use development platform, then I think Android might be good. High-level API and development tools and lots of services to built on. It is GNU/Linux minus the GNU. There are several good Android starting points on Beagle.

If you want to develop for the richest set of frameworks (Qt, GTK, KDE, etc.), then you might want to look at Maemo. I think those guys have the most stuff built there. I'm very curious about the future of Maemo and derivatives on Beagle, but don't have any visibility myself.

If you want to leverage the how-to docs of desktop users and are most concerned with the desktop-like experience, you might consider Ubuntu. Sakoman's GNOME builds using Open Embedded (based on Angstrom) delivers a bit better performing desktop, but Ubuntu is where you are going to find the most on-line users. Robert Nelson has a lot of familiarity with Debian and Ubuntu, so it might be good to get his inputs. I only ever use the pre-built images of those and they work fine following those how-to documents [8] [9].

We already discussed Angstrom and that is nice because of all the other people using it on Beagle. I do most of my demos on Angstrom as integration seems to happen their first. The build system is a bit tough to configure, but there is a lot of help around for it.

Thank you very much!

[2] Git - sriram/ti-psp-omap.git/summary
[4] Git - repo/omapkernel.git/summary