|
|
| (14 intermediate revisions by the same user not shown) |
| Line 5: |
Line 5: |
| | I'll use this page to share my experiencs on successes and obstacles I find. Feedback always appreciated. | | I'll use this page to share my experiencs on successes and obstacles I find. Feedback always appreciated. |
| | | | |
| − | ==My Build system==
| + | Building the image and kernel is not yet successful!! |
| − | I am running a VM-ware player image with Gentoo Linux placed on a USB hostpowered disc. This does not give highest possible performance, but it allows for a lot of mobility and portability. Peripherals like a (micro)SD-card reader adapter for USB works fine, but the built-in one in my laptop is not available within the VM-ware player.
| + | [[buildingImage|Building the Image]] |
| | | | |
| − | On my Gentoo linux I set-up the build environment according to the instructions for the [http://www.gumstix.net/Software/view/Software-Overo/Setting-up-a-build-environment/111.html overo build system].
| + | [[booting|Booting from the SD card]] |
| | | | |
| − | The reason for choosing the open-embedded as for Overo is that the Verdex buildsystem has not been updated for approx. a year now and I wanted the latest recipes to get e.g. Open JDK.
| + | [[javaAwt|Getting Java and AWT to work]] |
| − | | + | |
| − | == Building an Rootfs image and a kernel==
| + | |
| − | | + | |
| − | First I checked out a copy of ([http://www.gumstix.net/Software/view/Getting-started/Setting-up-a-build-environment/111.html instructions]) the Verdex build system. So the home directory now has:
| + | |
| − | ~/gumstix/gusmtix-oe/
| + | |
| − | ~/overo-oe/
| + | |
| − | | + | |
| − | Then, I copied the Verdex image recipes to the user.collection.
| + | |
| − | mkdir -p ~/overo-oe/user.collection/images/
| + | |
| − | cp ~/gumstix/gumstix-oe/com.gumstix.collection/packages/images/* ~/overo-oe/user.collection/images/
| + | |
| − | | + | |
| − | Once copied, I ran:
| + | |
| − | bitbake gumstix-basic-image
| + | |
| − | | + | |
| − | Resulting in a failure and Bitbake reporting that nothing provides some package and exited without building anything. I then copied the recipes for those packages and ran bitbake again. At the end I had copied:
| + | |
| − | task-base-gumstix
| + | |
| − | motd
| + | |
| − | uisp
| + | |
| − | version
| + | |
| − | www-content
| + | |
| − | | + | |
| − | ==Problems with No GNU_HASH fount in elf ==
| + | |
| − | | + | |
| − | Baking the gumstix-basic-image the process stopped with the I2C package and the log information boiled down to the error message: No GNU_HASH fount in elf for the i2c.
| + | |
| − | | + | |
| − | Asking for hints in the gumstix.users mailing list helped alot. Thanks Koen and Philip (archive [http://www.nabble.com/No-GNU_HASH-found-in-elf-binary-td23072960.html here]) and I could find the problem in the i2c.bb file:
| + | |
| − | The task do_compile ignored the LDFLAGS set by the oe/autoconf tools.
| + | |
| − | do_compile () {
| + | |
| − | ${CC} -o i2c *.c
| + | |
| − | }
| + | |
| − | | + | |
| − | Adding ${LDFLAGS} to the line for compiling solved this problem:
| + | |
| − | do_compile () {
| + | |
| − | ${CC} -o i2c *.c ${LDFLAGS}
| + | |
| − | }
| + | |
| − | | + | |
| − | Then the same problem emerged in the pxaregs recipes and the same solution applied. This resulted in a completed bake.
| + | |
| − | | + | |
| − | ==Booting the gumstix from a micro SD card==
| + | |
| − | | + | |
| − | Currently, I boot the gumstix from a 2GB micro SD card. NOTE that 4GB SDHC does work to boot from. If booting from flash, the card is found and read/write works fine even with 4GB. Probably the U-boot version does not support SDHC cards.
| + | |
| − | These [http://www.gumstix.net/User/view/User-how-to-s/Booting-from-microSD/SD/MMC/110.html instructions] for setting up the MicroSD card works fine for me. Don't forget to enable the MMC_ROOT by uncommenting the line in the ~/gumstix/gumstix-oe/com.gumstix.collection/conf/machine/gumstix-custom-verdex.conf
| + | |
| − | | + | |
| − | MACHINE_FEATURES += "mmcroot"
| + | |
| − | | + | |
| − | ==Errors encountered when building==
| + | |
| − | | + | |
| − | ===Gumstix-kernel and sumversion.h ===
| + | |
| − | The Gumstix-kernel recipe fails with the error message
| + | |
| − | warning: unused variable 'filelist'
| + | |
| − | The problem is solved by adding '#include <limits.h>' after strings.h in scripts/mod/sumversion.c fixes the issue. The file is found at:
| + | |
| − | ~/overo-oe/tmp/work/gumstix-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r0/linux-2.6.21/scripts/mod/sumversion.c
| + | |
| − | | + | |
| − | #include <netinet/in.h>
| + | |
| − | #ifdef __sun__
| + | |
| − | #include <inttypes.h>
| + | |
| − | #else
| + | |
| − | #include <stdint.h>
| + | |
| − | #endif
| + | |
| − | #include <ctype.h>
| + | |
| − | #include <errno.h>
| + | |
| − | #include <string.h>
| + | |
| − | #include <limits.h> <--- add this line
| + | |
| − | #include "modpost.h"
| + | |
| − |
| + | |
| − | /*
| + | |
| − | * Stolen form Cryptographic API.
| + | |
| − | *
| + | |
| − | * MD4 Message Digest Algorithm (RFC1320).
| + | |
| − | | + | |
| − | | + | |
| − | ===I2C package No GNU_HASH found in elf binary===
| + | |
| − | The I2C package fails in the QA phase with the error message:
| + | |
| − | ERROR: QA Issue: No GNU_HASH in the elf binary: '/home/<user>/overo-oe/tmp/work/armv5te-angstrom-linux-gnueabi/i2c-1.0-r2/install/i2c/usr/bin/i2c'
| + | |
| − | The problem is because the recipe ignores the linker flags set in the oe environment and therefore builds the wrong type of binary (see posts on gumstix-users [http://www.nabble.com/No-GNU_HASH-found-in-elf-binary-td23072960.html|here]. The problem is easily fixed by editing the I2C recipe like this:
| + | |
| − | # nano ~/overo-oe/org.openembedded.dev/recipes/i2c/i2c.bb
| + | |
| − | | + | |
| − | do_compile () {
| + | |
| − | ${CC} -o i2c *.c ${LDFLAGS}
| + | |
| − | }
| + | |
| | | | |
| | ==Coming challenges== | | ==Coming challenges== |
| | Setting up a bluetooth PAN from verdex to my gentoo to easily deploy new builds of my java application | | Setting up a bluetooth PAN from verdex to my gentoo to easily deploy new builds of my java application |
| | | | |
| − | setting up working java that have GUI and uses the touch screen. | + | setting up a continuous integration environment |
| | | | |
| − | finding and building a lib for java serial
| + | ==Bugs that I have encountered == |
| | | | |
| − | setting up a continuous integration environment
| + | Bitbake failed due to DBus problem. [http://www.nabble.com/Re%3A-Build-error-dbus-native-1.0.1-p23905434.html| This solution might do the trick.] |
I am working on settin up my Verdex Pro 400-Bt with LCD to run java with the touch screen and a simple graphical gui.
I'll use this page to share my experiencs on successes and obstacles I find. Feedback always appreciated.
Setting up a bluetooth PAN from verdex to my gentoo to easily deploy new builds of my java application