OpenEmbedded

First you need to get angstrom setup scripts, it’s a couple of scripts which are usefull to fetch git repositories of openembedded, angstrom and others usefull meta layers.

mkdir a1000 && cd a1000

git clone git://github.com/Angstrom-distribution/setup-scripts.git

Then you need to get the meta layer for the allwinner processor. This layer contains recipes for the bootload (u-boot) and the kernel. We will not use u-boot and kernel in the final image, but it’s better to have them for the future.

mkdir -p setup-scripts/sources && cd setup-scripts/sources git clone git://github.com/ebutera/meta-allwinner cd ..

We have to add the allwinner meta layer in the list of meta layers in use, so edit the file conf/bblayers.conf abd add ${TOPDIR}/sources/meta-allwinner to the BSPLAYERS variable.

it should looks like this :

BSPLAYERS ?= " \   ${TOPDIR}/sources/meta-ti \    ${TOPDIR}/sources/meta-efikamx \    ${TOPDIR}/sources/meta-nslu2 \    ${TOPDIR}/sources/meta-smartphone/meta-htc \    ${TOPDIR}/sources/meta-smartphone/meta-nokia \    ${TOPDIR}/sources/meta-smartphone/meta-openmoko \    ${TOPDIR}/sources/meta-smartphone/meta-palm \    ${TOPDIR}/sources/meta-handheld \    ${TOPDIR}/sources/meta-raspberrypi \    ${TOPDIR}/sources/meta-intel \    ${TOPDIR}/sources/meta-intel/meta-sugarbay \    ${TOPDIR}/sources/meta-intel/meta-crownbay \    ${TOPDIR}/sources/meta-intel/meta-emenlow \    ${TOPDIR}/sources/meta-intel/meta-fishriver \    ${TOPDIR}/sources/meta-intel/meta-fri2 \    ${TOPDIR}/sources/meta-intel/meta-jasperforest \    ${TOPDIR}/sources/meta-intel/meta-n450 \    ${TOPDIR}/sources/meta-allwinner \  "

Now it’stime to use angstrom script to retrieve all oe sources. In the top directory launch

./oebb.sh config allwinner-a10

it will create the file ~/.oe/environment-angstromv2012.05 wich contains environnement variables needed to correctly build an openembedded image. It will also fetch all the recipes for angstrom and openembedded and will define allwinner-a10 as the default machine. Every time you want to build a pacakge or an image for the mele, you juste have to source the file ~/.oe/environment-angstromv2012.05 and launch bitbake something.

Once it’s done, we can build our first angstrom image :

bitbake efl-nodm-image

After a long time depending on your machine, (i launched it before sleeping, and get the result back in the morning) you should find a directory build/tmp-angstrom_2010_x-eglibc/deploy/images/allwinner-a10 containing Angstrom-efl-nodm-image-eglibc-ipk-v2012.05-allwinner-a10.rootfs.tar.bz2.

Now we will use the method described here : http://www.cnx-software.com/2012/06/13/hardware-packs-for-allwinner-a10-devices-and-easier-method-to-create-a-bootable-ubuntu-12-04-sd-card/ to run our image.

Im’ using the vga output so i do : (be carful on the /dev/sdX you are using !)

wget http://dl.linux-sunxi.org/nightly/2012.09.18/mele-a1000-vga_hwpack_2012.09.18.7z ./a1x-media-create.sh /dev/sdb mele-a1000-vga_hwpack_2012.09.18.7z Angstrom-efl-nodm-image-eglibc-ipk-v2012.05-allwinner-a10.rootfs.tar.bz2

You can now try to start up with sdcard. Once image has started, you should get a ssh terminal with this command : ssh root@allwinner-a10.local (password is empty). Xorg is not working out of the box, you need to create the file /etc/modules-load.d/screen.conf on the sdcard and this content :

disp lcd hdmi 8192cu

reboot the machine, Xorg should be launche at startup now !

Bonus,

if you like to create a toolchain dedicated to the mele a1000, you can use this command :

bitbake meta-toolchain

Once finished you will find in build/tmp-angstrom_2010_x-eglibc/deploy/ a tar.gz containing all the stuff need to build applications for the mele a1000, like u-boot, kernel.