Baking Bits
Beagleblog
To build the Angstrom distribution from source you need to set up the Openembedded environment. With help from the build tool Bitbake it can cross compile software for many embedded targets on a host PC. You will find Bitbake in the repositories of many standard Linux distributions. However I had some problems with the tool shipped in Ubuntu 9.10 Karmic Koala, so I just downloaded the Bitbake source and installed it. Just download the package from the web site, unpack it and execute »python setup.py install« as root.
You can get the Openembedded environment from the Git repository. For this I created a directory called »OE« in my home directory:
cd mkdir OE cd OE git clone git://git.openembedded.org/openembedded.git openembedded
Now you need to edit the configuration file that determines the target system and some other parameters. Simply copy the sample configuration and edit it.
mkdir -p build/conf cp openembedded/conf/local.conf.sample build/conf/local.conf
I had to change the following variables in the configuration:
MACHINE = "beagleboard" BBFILES := "/home/oliver/OE/openembedded/recipes/*/*.bb" DISTRO = "angstrom-2008.1" TMPDIR = /home/oliver/OE/tmp
Additionally you need to remove the last line in the file starting with »REMOVE_THIS_LINE«, otherwise the build process will fail.
One the documentation web page on Openembedded and Angstrom you will find a link to a small file called »source-me.txt« which sets the required environment variables for the build process. I only changed the variable that points to the Openembedded tree:
export OETREE=/home/oliver/OE
Make the changes effective by executing »source source-me.txt« in the Bash shell.
With all requirements fulfilled the build process starts with the command »bitbake base-image« which builds a minimal image. To build Angstrom with a graphical user interface you can use »bitbake x11-image«. The Bitbake tool will complain if there are still requirements missing. For instance I had to set the kernel variable »/proc/sys/vm/mmap_min_addr« and install some more tools on the Ubuntu host PC, among them »texinfo« for the »makeinfo« requirement.
When Angstrom starts to build you need some patience if you don't own a fast PC. On my home machine with and Athlon 2800+ and 1 GB of RAM it took several days, including sleeping breaks. You should install the Python Psyco extension to speed up the process at least a little bit. And be sure to build only the required locales by setting the appropriate variable in your »local.conf«:
GLIBC_GENERATE_LOCALES = "en_US.UTF-8 en_GB.UTF-8 de_DE.UTF-8"
When the build completes successfully you need to copy the distribution files and the bootloader to the SD card you are using for the Beagleboard file systems. In my case I had the root fs mounted on »/media/ALINUX« and the VFAT boot fs mounted on »/media/BOOT«:
tar xf ./tmp/deploy/glibc/images/beagleboard/console-image-beagleboard.tar -C /media/ALINUX cp ./tmp/deploy/glibc/images/beagleboard/uImage-beagleboard.bin /media/BOOT/
Plug the SD card back into the Beagleboard slot and happily boot your self-compiled Angstrom distribution:
Comments
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Digital Autonomy
• How the Fediverse Found Parts for Its Platforms
• The Answer Was Already on the Shelf
• Changing the Chip Industry: How Public Investment Has Grown Open Silicon
• United Nations Open Source Portal Goes Live
• EU Open Source Strategy Plays Key Role in Tech Sovereignty Package
• France Says “Au Revoir” to Microsoft
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Office 365 Available for Testing on Linux via Bottles
Linux users can now test the official Office 365, thanks to Mirko Brombin's work on Bottles.
-
Dutch Government Turns to Open Source for Digital Sovereignty
Following in the footsteps of other European countries, the Netherlands is looking to increase its sovereign digital infrastructure with open source software.
-
Linux May Soon Work on Snapdragon X2-Based PCs
If you're thinking about buying a Snapdragon X2-based desktop or laptop, Linux may soon be an option.
-
KDE for People Initiative Calls for AI Ban in Plasma
A new community of KDE wants the project to adopt a strict no-AI policy for KDE Plasma.
-
KDE Sets Ambitious Goals for 2026 and Beyond
KDE Connect reveals the goals for the Linux desktop darling, with one of those goals long overdue.
-
It’s Time to Test Fedora 45 Beta
Fedora 45 beta has been released with updated Gnome, KDE Plasma, and kernel.
-
Ubuntu Stonking Stingray Gets Even Rustier
Ubuntu 26.10 has completed its migration to the Rust-based coreutils.
-
AI Fixes Linux Bottlenecks Using “Hideous” Code
A Linux developer used AI to fix bottlenecks that caused problems when building the kernel. The resulting AI-generated code needed a lot of work.
-
Advanced Video Coding Still Under Patent
Brazilian patent BRPI0109962B1 has expired, which means that DivX and Xvid are no longer problematic for Linux, but it doesn’t mean that video is all of a sudden fully unleashed.
-
2,000 Vulnerabilities per Linux Release
Thanks to AI bug hunters, the Linux kernel is seeing record numbers of vulnerabilities, and it's overwhelming developers.

Thanks but why not Ubuntu?
I understand that Angstrom works out of the box with gui and such, but is there no possibility to get that functionality from the Karmic ARM port?
Thanks