by Jason Kridner
Here we are, 2014. Expect a big year for Beagle! Unfortunately, I have to
start out with an apology.
LinuxGizmos.com recently hopped on the news that over 100,000 BeagleBone Blacks have now been sold. When they contacted me to confirm, I blundered a bit by repeating and confirming what I thought was a fairly broadly shared rumor—that we are looking to soon shift the Linux distribution that ships in the flash of the boards from Angstrom to Debian. The blunder wasn’t the confirming of the news, but rather not doing a good job at communicating to the community about this move better ahead of time. It didn’t help that I was taking off for vacation where my Internet access is spotty at best. So, I owe you all a big apology, but I hope you are still excited about the news.
So what’s coming?
The big news is a shift to Debian in the on-board flash. You’ll still be
able to flash Angstrom if you want to use that and myself and others in the
community will still be rather happy to help you with Angstrom-related
questions, but the feeling is that we’ll get a much broader support base
if we have new users encounter Debian first on the upcoming boards.
The exact date of the switch-over hasn’t been determined. Gerald had most
recently given me and everyone involved a deadline of giving him an image
by the end of January, but we are currently bottlenecked by the updated
version of Cloud9 IDE. I have been playing with a beta of version 3 and I
find it to be a huge improvement that will enable us to provide support for
C compilation within the IDE using plug-ins. The new version also runs on
node 0.10, making it much easier to work with recent Debian builds. Before
any switch in production happens, there will be a fairly complete beta image
shared broadly for testing.
How similar will the experience be?
If you aren’t a heavy Linux user and just do a few things from the command-line and use the Cloud9 IDE, the experience will be pretty similar, but I hope
you’ll find it somewhat improved. If you are a more seasoned developer, I
probably don’t need to answer the question, because you are already likely to
be somewhat experienced with Debian. All of the key features you expect
should be there.
We have a handful of performance goals to try to keep the experience on-par
with Angstrom. One is a boot time target of under 10 seconds. Using the
typical boot strategy for Debian Wheezy without any significant optimization,
Robert Nelson observed that boot time was more like 30 seconds. By switching over to systemd, as is used by typical Angstrom builds, boot time dropped to around 16 seconds. We’ll be spending a bit of time trying to improve this between now and the beta image.
Space on the flash will likely be very similar, due to trying to provide
similar functionality. The builds are currently quite a bit smaller, but
Robert is still adding in items to bring in feature parity.
BoneScript
will still be included in the out-of-box experience to help
quickly prove out the various hardware interfaces and help people learn
about wiring up hardware. I’ve fixed most of the issues with getting BoneScript onto other distros besides Angstrom and am planning to soon release version 0.2.4 that already has improved support for switching pin modes and reading pin states.
The USB flash drive and USB networking features will still be included, as
well as the driver install guide, self-hosted web-based tutorial and the
previously mentioned Cloud9 IDE.
Over time, there will be more promotion of the
Userspace Arduino project that provides an easy-to-learn C API for rapid prototyping of hardware projects. Of course, the boards will continue to ship with a C/C++ compiler and build tools, libraries, and a number of interpreters, such as Python. I’d love to include the Adafruit BBIO Python library, so I’ll be contacting them to see if they’ll approve that. I’ve also been chatting
quite a few times with the Erlang folks, so that is something that has a
good likelihood of being included.
The kernel is likely to be the same one included currently in Angstrom, the
customized 3.8.x kernel.
However, if the release slips enough, there is a reasonable chance we’ll be
switching over to one of either the
3.12
or
3.13-rc
kernels. A good amount of attention will be paid to having a good set of
drivers and firmware for USB wifi adapters included as this was a pain
point for some people in the past.
How to contribute?
The script for building the image is currently hosted at
https://github.com/beagleboard/image-builder. Hop on the mailing list with questions about running the script and send Github pull requests if you have suggested improvements. Contributing to the kernel continues to be the same at https://github.com/beagleboard/kernel. I am overdue, however, at writing up how to contribute Cape DTS firmware sources that configure Cape hardware automatically using devicetree. The new repository for that is at
https://github.com/beagleboard/cape-firmware
and it just needs a good README that describes the details of contributing.
Thanks for all of your support and I’m so very thrilled with all the
amazing things happening in the Beagleverse for 2014!