Ångström was started by a small group of people who worked on the OpenEmbedded, OpenZaurus and OpenSimpad projects to unify their effort to make a stable and userfriendly distribution for embedded devices like handhelds, set top boxes and network-attached storage devices and more.
Our name is Ångström, not OpenEmbedded Ångström. While Ångström is currently using OpenEmbedded heavily through the Yocto Project it isn't including it in its name. So if you send out a press-release, please use the proper name.
Ångström is versatile, it scales down to devices with 4MB of flash to devices with terabytes of RAID storage. Someday it might even run on a toaster :)
We have a few importation rules:
1) You will search the internet first and read the FAQ before asking questions.
2) You must read and follow the steps in the documentation precisely.
3) Those who ask the questions, update the wiki when they get the answers.
4) Those who complain about the documentation, update the wiki to make it better.
5) A bug only exists if it's reported to one of the mailinglists
6) When in doubt, send a mail to one of the mailinglists
I am pleased to report that the Yocto Project Advisory Board has approved The Angstrom Distribution as a Yocto Project Participant!
The logo's will be added to the website soon.
Angstrom is using OpenEmbedded as buildsystem and heavily uses its layer features. Let's take the v2012.05 release (which matches the yocto 1.2 ('denzil') release) as an example. All layers have their patch submission policy documented in a README file in each layer. Here is a summary of those:
- bitbake, the task executor for the build metadata. Send patches to the mailinglist: http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
- meta-angstrom, the angstrom distribution layer. Send patches to the mailinglist: http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-deve...
- meta-openembedded, the openembedded community repository containing a lot of sub layers. Every sublayer has a README on how to handle patches, but the rule of thumb is to send them to http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel with a '[meta-oe]' tag.
- meta-ti, the TI BSP and SoC support layer, send patches to the mailinglist: https://lists.yoctoproject.org/listinfo/meta-ti
- meta-ettus, the BSP layer for Ettus products, github pull-requests work best
- meta-efikamx, the BSP layer for the efika-mx board, github pull-requests work best
- meta-nslu2, the BSP layer for ixp4xx based machines, github pull-requests work best
- meta-smartphone, layer for smartphone recipes and BSPs. See the READMEs of the sublayers.
- meta-intel, the BSP layer for intel chipsets, send patches to the mailinglist: https://lists.yoctoproject.org/listinfo/yocto
- meta-xilinx, the BSP layer for xilinx based boards, send patches to the mailinglist: https://lists.yoctoproject.org/listinfo/yocto
- meta-openpandora, the BSP layer for the openpandora device, github pull-requests work best
- meta-raspberrypi, the BSP layer for the raspberry-pi board, github pull-requests work best
- meta-handheld, a BSP layer for old (and not so old) handheld devices. Send patches to the mailinglist http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel with a '[meta-handheld]' tag
- meta-opie, a layer with recipes for the OPIE project. Send patches to the mailinglist http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel with a '[meta-opie]' tag
- meta-java, a layer with java related recipes (e.g. openjdk), Send patches to the mailinglist http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel with a '[meta-java]' tag
- meta-browser, browser related recipes (firefox, chromium, etc). Send patches to the mailinglist http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel with a '[meta-browser]' tag
- meta-mono, C# related recipes. Send patches as attachment to the maintainer, Autif Khan (firstname.lastname@example.org).
- meta-kde, KDE recipes. Send patches to the mailinglist http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel with a '[meta-kde]' tag
- openembedded-core, the core layer, send patches to the mailinglist: http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
For the specific example of the v2012.05 release there are some extra steps involved since only backports are allowed in the release branches of the various layers. Whenever possible do your patch on the 'next' branch of the setup-scripts to track the latest upstream and then get it accepted upstream and ask for a backport to the matching release branch. Policy on that varies, but adding a '[for-denzil]' tag to your emails will usually do the trick.
Of the above layers only the meta-angstrom layer is controlled by angstrom developers, all other layers are out of angstrom control.
With the change to an oe-core based system a lot of things changed and angstrom itself has gone through some changes as well. One of those changes is that some packages were renamed or deprecated.
To keep narcissus working the decision was made to remove all machines and trim the package lists.
The new machine list matches the autobuilder: qemuarm, qemumips, qemuppc, qemux86, beagleboard and beaglebone. That matches the machines supported in OE-core and the ones I get paid to support for my day job.
The process to add machines is fairly simple:
1) Find the layer for the machine in http://www.openembedded.org/wiki/LayerIndex
2) Check the setup scripts to see if it's already configured
3) Send patch for setupscripts
4) Send patch for narcissus
The process for packages is pretty much the same. They will need review since not every layer plays nice with others. I'm hoping that this process will be easy enough for people to follow while preventing non-working combinations to get added.
As always, feedback appreciated.
For people wanting to do development on/for Ångström have a look at these blogs:
- Xora's kernel workflow: This blog walks you through the steps Graeme takes when hacking on a kernel.
- Toolchain tutorial: This blog shows how to use and extend the pre-built toolchain to build small applications like nano.
- Gstreamer plugin selection: This blog shows how you can reduce your rootfs size without changing the buildsystem
People can now access the angstrom feeds using:
with mirrors at
In the near future feeds.angstrom-distribution.org will start rotating
through the mirrors automagically to spread the load.
No configuration changes are needed, unless you want to pick a specific
mirror. In that case, update the URLs in /etc/opkg/*-feed.conf.
A special thanks to Tom King and Philip Balister for setting this up.
With the 2011.3 release of OE we are taking the opportunity to retire
angstrom 2008.1 into a maintenance branch, which is going to created
soon, and move ahead with 2010.x in openembedded-core and
org.openembedded.dev. This will give us some more freedom to stabilize
2008.1 without keeping 2010.x back.
If you follow the recommended instructions then you will get the maintenance branch automatically.
This means that only bugfixes will go into 2008.1 and the more crazy
stuff will happen in 2010.x. The exact lifespan of the maintenance
branch isn't clear yet, but it will be there for at least 6 months.
Angstrom 2008.1 will get deleted from org.openembedded.dev before the
end of this month.
Your friendly Angstrom maintainers,
Graeme 'Xora' Gregory
Philip 'Crofton' Balister
The server angstrom is hosted on is also hosting some popular android downloads that are sucking up all the bandwidth :(
We hope those downloads become unpopular real soon, but till then we'll have to live with the reduced bandwidth.
For people wanting to setup a development environment for Ångström things got a lot easier. Hop over to:
git clone the repo and run the script. It is mostly self documenting and automates a number of steps from http://www.angstrom-distribution.org/building-angstrom that people struggle with.
It has seem a fair bit of testing, but it isn't "1.0" quality yet, so feedback to the angstrom-devel is very welcome.
If you only need a toolchain things are even easier, check http://www.angstrom-distribution.org/toolchains/ for prebuilt toolchains and instructions.
Another option is to use narcissus to generate a toolchain for you. Select 'advanced' on the narcissus page:
and select 'toolchain' or 'sdk' in the SDK type section:
As part of my zoom2 work I needed to format SD cards so they would boot on zoom2 and beagle.
The results of my work can be found here.
Linuxdevices tells us:
NthCode announced an embedded media player for IP-ready DVD players, TVs, and other Linux-based devices. NthCode Player automatically connects to home networks, and then catalogs available media, offering WebKit-browser access to media, plus feeds from BitTorrent and RSS, says the company.
Built on a Maemo and Angstrom base, the player is designed to work with any standard Linux distribution used by the device vendors.
As linuxdevices points out:
Israeli SBC (single board computer) specialist CompuLab announced an "enterprise digital assistant" that enterprises can use to build custom devices with Android or Angstrom Linux. The "Exeda" has a 3.5-inch VGA touchscreen, QWERTY keyboard, touchpad, two-megapixel camera, microSD slot, GPS, and optional cellular capabilities, says CompuLab.
Recent kexecboot on an iPAQ hx4700, originally uploaded by koenkooi.
You can get kexecboot for your machine from http://www.angstrom-distribution.org/demo/kexecboot/
After a few weeks of hacking and testing I am proud to announce the online image builder:
You can select a machine and packages you want and the image builder will create a tar.bz2 image using the packages available in the feeds. That means you can create an up-to-date image at anytime from anywhere!
The autobuilder tries to keeps the feeds populated for all machines evenly, but some packages aren't in all feeds, e.g. kismet is missing from the armv7a feeds since it breaks with gcc 4.3.x. When that happens the image builder will display a big red X on the screen next to the package that failed to install. It will continue to install the other packages you selected so you can still use generated image, but without the missing packages.
If you have suggestions, feedback or bugreports, send a mail to the angstrom-devel mailinglist.
The source is available from:
Patches welcome, especially to improve the look & feel
A Linux distribution based on Linux v2.6.27 is available from Atmel's AT91SAM Linux portal at http://www.linux4sam.org. It includes the complete Linux v2.6.27 kernel, the Linux patch for the AT91SAM9G20-EK, device drivers, pre-built demonstrations and the Angstrom/OpenEmbedded building environment.
A popular talking toy robot from Tomy Corp. runs Linux on a PXA-270-based single-board computer (SBC) from Mobisense Systems. The 6.5-inch tall i-Sobot has been dubbed "the smallest humanoid robot in production" by Guinness World Records, says Tomy.
The i-Sobot offers four basic operating modes, featuring bipedal walking action and eight-directional movement. It also boasts individual actions including walking, dancing, martial arts, push-ups, and soccer moves, says the company.
More information can be viewed at the i-Sobot website.
Mozilla Fennec browser running on a Openmoko gta01 phone, originally uploaded by koenkooi.
This screenshot shows the Fennec browser running on an gta01 phone. This is running under the pure Ångström distribution, not the openmoko version of it.
Thanks to Vlads pixman magic fennec has gotten a lot faster, but there are some downscaling and sizing issues on the gta01 screen.
As one of the developers is quoted saying:
"We derive our current filesystem from Ångström with lots of custom Pandora buildrules and string the whole lot together with Open Embedded."
Read the complete Linuxdevices.com news entry.
The Opie user environment is now officially supported in Ångström, for the following devices:
- iPAQ h2200 series (h2200)
- iPAQ h3900 series (h3900)
- iPAQ h4000 series (h4000)
- iPAQ h5000 series (h5000)
- iPAQ hx4700 (hx4700)
- Zaurus SL-5600 (poodle)
- Zaurus SL-C1000 (akita)
- Zaurus SL-C3000 (spitz)
- Siemens Simpad (simpad)
Support for other machines is in the works. Read on below the fold for details.
You can get the angstrom 2007.12-r18 release images for for Sharp Zaurus SL-5600 aka 'poodle' machines from:
These Images are now based on the 2.6.24 kernel.
See the Poodle Status Page for more info.