I’m pleased to announce a new release of the Anjuta Poky SDK plugin.
This is a bug fix release which fixes some issues with incorrect error reporting and remote deployment.
Poky platform builder is a complete open source software development environment for the creation devices. It aids the design, development, building, debugging, simulation and testing of modern software stacks using Linux, X-Windows and GNOME Mobile application frameworks - what you wish your BSP would be.
Keep up to date on the development of Poky with the BlogI’m pleased to announce a new release of the Anjuta Poky SDK plugin.
This is a bug fix release which fixes some issues with incorrect error reporting and remote deployment.
We are pleased to announce the first bug-fix release of Poky Green, 3.3.1.
This release includes fixes for issues discovered since the Green release:
Thanks to everyone who helped with reporting and fixing bugs!
We’re pleased to announce the release of Poky version 3.3 (Green).
Poky is aiming to release on a regular 6 month cycle so this release follows the 3.2 release approximately six months ago.
This release includes a lot of changes:
Updated toolchain:
- autoconf 2.6.5
- automake 1.11.1
- binutils 2.20
- bison 2.3
- gcc 4.3.3
- gdb 6.8
- glibc 2.9
- libtool 2.2.6
- pkgconfig 0.23
We now provide QEMU 0.12.4 (including the Poky enhancement to enable running GL apps in the emulator using a passthrough to the host GL)
Linux kernel updated to 2.6.33.2 for all QEMU machines and netbook
Recent X.org stack including X server 1.7.99.2
Busybox updated to 1.15.3
Many other new recipes and updated recipe versions
Basic support for PowerPC and MIPS machines, including qemumips and qemuppc machine configurations
Updated version of Bitbake which includes many enhancements:
- layers, a new method for maintaining extensions to the Poky metadata (see the Handbook Chapter 3 section 4.1 on Bitbake Layers)
- a switch to the 1.10 client/server branch allowing custom UIs such as the dependency visualisation UI ‘bitbake some-package -g -u depexp’
- enhanced mirror support, including ability to use local (file://) mirrors (whereby files will be used directly from the file location rather than copied to DL_DIR)
- speed enhancements
Use of BBCLASSEXTEND to provide native, cross, etc. packages using the same recipe as the host build
A class to add the correct gettext dependency to your package, regardless of build-type (cross, native, etc). This is particularly useful with the BBCLASSEXTEND variable.
Kernel class updated to handle changes in recent linux kernels
Packaged staging enhancements:
- support for pulling staging packages from a mirror (see the PSTAGE_MIRROR variable in your local.conf)
- post-processing of binaries with chrpath to make them relocatable
- removal of all legacy staging functions leading to improved build quality and faster builds
- note: packaged staging packages will now live in ${OEROOT}/pstage unless you set the PSTAGE_DIR variable in your local.conf
There have been some directory structure changes:
- the staging directory has been renamed to sysroots
- the cross directory has been removed and cross packages are now installed into the native sysroot
- the pstage toplevel directory has been created to house staging packages now that they are less tied to the build system
Various fixes for building on modern distributions (tested on Ubuntu and Fedora x86 and x86_64)
*NOTE*: We have changed the format of various configuration files and therefore added an compatibility check of files in build/conf – if using old configuration files you’ll want to be sure to check the .sample files in the build/conf directory and ensure your configuration files match.
Finally we’ve updated the Poky Handbook to include documentation for all of the changes made during this cycle.
Since I recently rolled a new release of the Poky Anjuta Plugin I thought it would be worth re-capping how to use it.
To install you need a to have Anjuta and it’s development headers installed. Then it’s the usual configure make dance to install (see the README for more details).
If you want to take advantage of the remote debugging support, which I strongly recommend you do, then you’ll want to pass configure the –enable-gdb-integration switch.
Once done, you can launch Anjuta and Create a new Generic project in Anjuta (File > New > Project), this gives you a simple C Hello World application which is enough to demonstrate the plugins functionality.
Next, in the preferences pane enable the Poky plugin.
You can configure the plugin to use either a Poky generated SDK or a full Poky build tree, for the purposes of this tutorial I’ll use an SDK toolchain and QemuX86 image I built earlier (read more about SDK images in the handbook).
As I’ve used an SDK tarball I have set SDK root to the toolchains subdirectory in /usr/loca/poky/. The toolchain triplet is arch-distro-abi and can be easily discovered by looking at the environment-setup scripts file name, for a qemux86 toolchain this is environment-setup-i586-poky-linux so the toolchain triplet I’ve used is i586-poky-linux. Finally I use the file chooser to locate the Kernel and Root filesystem of my generated image.

Now that we have configured Anjuta to use our toolchain and image we can build and test our software against it. Building the project now will use the cross-toolchain from the Poky SDK.
Once built you’re ready to test on the emulated device, use Tools -> Start QEMU to launch the emulated image (this will request your root or sudo password to configure networking).
You can install the project to the target with Tools -> Deploy, this will install the project to /usr/local where you can now interact with it directly on the device or use Tools -> Run Remote to execute the binary.
Finally, and perhaps most usefully, you can debug the deployed application using gdbserver. You need only select a local binary (for debug symbols) and enter the command of the remote binary. THe plugin then negotiates starting GDB on the target, connects to it and starts the binary but paused at the entry point.
You can then add break points as required using the IDE and use Debug -> Run/Continue to continue the programs execution.
The Anjuta SDK plugin is still very much a work in progress but should be reasonably usable as is. Please report any bugs in the Poky product, Anjuta Integration component of bugzilla.openedhand.com
Enjoy using it, watch this space for news of new hotness and please feel free to file feature enhancement requests!
I’m pleased to announce Poky Version 3.2.1 the first maintenance release of the Purple cycle.
This release is a bug-fix release which includes:
* toolchain fixes (thanks to Enric Balletbo i Serra and Richard Purdie)
* a BitBake bug fix which broke the dependency tree (RP)
* documentation fixes (RP and myself)
* Fix Omap Zoom support (Graeme Gregory)
Anyone using a stable branch of Poky should switch to Purple 3.2.1.
The Purple branch will continue to be maintained until we make a new stable release.
The release tarball:
http://pokylinux.org/releases/poky-purple-3.2.1.tar.bz2
Qemu Images and Toolchains:
http://pokylinux.org/releases/purple-3.2/
I’m pleased to announce a new release of the Anjuta Poky SDK plugin.
This release brings updates to build against the Anjuta 2.28 API’s thanks to Haito Feng along with a few minor tweaks from myself including populating the Debug Remote and Run Remote entry boxes with /usr/local/bin by default (the same path as is used by the Deploy action).
Whoo! The Beaver’s back with a new stable release, Poky 3.2 (Purple) is available for download now.
Along with tons of updated recipes and an updated toolchain Purple has the following notable features:
* “Canadian Cross” compiling for the standalone toolchain. This enables you to build toolchains for use on hosts with architectures other than the host systems. You can now build an i586 toolchain on your x86_64 machine and vice-versa!
* Packaged staging enabled by default. Packaged staging packages up the build results of each recipe. The next time you run a build which uses one of these packages the package will be installed saving both time and space.
* An updated version of the Bitbake build tool
* QEMU GL passthrough mode which enables QEMU images to use the hosts GL implementation, taking advantage of any available acceleration on x86
* meta-moblin, containing recipes and configuration for the Moblin user experience
The release also includes the usual bug-fixes, tweaks and updates.
The release tarball:
http://pokylinux.org/releases/poky-purple-3.2.tar.bz2
Qemu Images and Toolchains:
http://pokylinux.org/releases/purple-3.2/
Poky 3.1.2 has been released. This version is a maintenance release
which brings pinky up to date to compile on modern Linux distributions.
Thanks to Buglabs and Marcin Juszkiewicz for doing the bulk of the work
on this branch!
You can download a tarball of this release from here.
The recent Moblin beta release brings a new environment to developers
and there are many people in the community who want to experiment with
this. The official way of building Moblin is targeted along the
traditional desktop distribution approach which fits the needs of
vendors who make up a large share of the user base, but especially in
more embedded environments in the past OpenEmbedded style systems such
as Poky are popular.
With this in mind we’re pleased to announce the availability of metadata
to build Moblin compliant images using the Poky build system and
platform development tool.
The metadata has been checked into Poky and is available for people to
start experimenting with as they wish. This allows developers the
potential to create and customise their images in a controlled and
sustainable way suited to community members and the embedded space.
Users can also benefit from Poky’s continually integration development
model.
The following commands are all that is needed to make a checkout and
build a Poky Linux image that is Moblin compliant:
$ git clone git://git.pokylinux.org/poky.git $ cd poky $ source poky-init-build-env
conf/local.conf will be created with default settings, please check
these and adjust as needed. You will need to set DISTRO=moblin and
MACHINE=netbook. You can then run
$ bitbake moblin-image-netbook-live
and after the build completes an image will be generated in
tmp/deploy/images/moblin-image-netbook-live-netbook.hddimg which can be
transfered onto a USB memory card using dd and then live booted on a
netbook class machine.
This assumes the needed prerequisites are installed but if not, Poky
will tell you which packages are missing. More information about Poky is
available on its website, http://www.pokylinux.org/. There is this
mailing list for further discussion and the Poky bugzilla where problems
can be reported. Bug reports on Poky derived packages should initially
go to the Poky bugzilla, not the Moblin one.
Note that Poky is *not* a replacement for the main Moblin distribution,
it is a complement to it. Its intended there will be differences which
currently include:
It is intended for Poky to be a more experimental platform with
innovation and experimentation being encouraged.
For more information please see the Poky webpage about this at
http://pokylinux.org/moblin/ and the rest of the Poky website and
manual.
We’re pleased to announce that Poky will be using GIT as its SCM from now on.
The advantages of GIT for a project like Poky are large due to its powerful branch handling capabilities and distributed nature meaning access to one central repository is no longer needed. The SVN history has been imported and retained and the svn server will mirror the git server for at least the short term whilst people transition.
You can browse the repository at http://git.pokylinux.org and checkout Poky using git with the command “git clone git://git.pokylinux.org/poky.git”.